diff --git a/Lib/MV2.py b/Lib/MV2.py index 266d591c..ee69b74d 100644 --- a/Lib/MV2.py +++ b/Lib/MV2.py @@ -109,11 +109,13 @@ def __call__(self, a, axis=0, **kwargs): def commonDomain(a, b, omit=None): """commonDomain(a,b) tests that the domains of variables/arrays a and b are equal, - and returns the common domain if equal, or None if not equal. The domains may - differ in that one domain may have leading axes not common - to the other; the result domain will contain those axes. - If is specified, as an integer i, skip comparison of the ith dimension - and return None for the ith (common) dimension. + and returns the common domain if equal, or None if not equal. + + The domains may differ in that one domain may have leading axes not common + to the other; the result domain will contain those axes. + + If is specified, as an integer i, skip comparison of the ith dimension + and return None for the ith (common) dimension. """ if isinstance(b, AbstractVariable): @@ -183,11 +185,11 @@ def commonGrid(a, b, axes): and consistent with the list of axes. If so, the common grid is returned, else None is returned. a and b can be numpy arrays, in which case the result is None. - The common grid is 'consistent' with axes if the grid axes (e.g., the axes of latitude and - longitude coordinate variables) are members of the list 'axes'. + The common grid is 'consistent' with axes if the grid axes (e.g., the axes of + latitude and longitude coordinate variables) are members of the list 'axes'. - If the grid(s) of a, b are rectilinear, the result is None, as the grids are implicitly - defined by the axes. + If the grid(s) of a, b are rectilinear, the result is None, as the grids + are implicitly defined by the axes. """ if isinstance(b, AbstractVariable): gb = b.getGrid() @@ -556,12 +558,15 @@ def sort(a, axis=-1): def choose(myindices, t): - """Returns an array shaped like indices containing elements chosen - from t. - If an element of t is the special element masked, any element - of the result that "chooses" that element is masked. + """ - The result has only the default axes. + Returns + ------- + + an array shaped like indices containing elements chosen from t. + If an element of t is the special element masked, any element of + the result that "chooses" that element is masked. The result has + only the default axes. """ maresult = numpy.ma.choose(myindices, list(map(_makeMaskedArg, t))) F = getattr(t, "fill_value", 1.e20) @@ -580,8 +585,12 @@ def where(condition, x, y): def masked_where(condition, x, copy=1): - """Return x as an array masked where condition is true. - Also masked where x or condition masked. + """ + + Returns + ------- + + x as an array masked where condition is true. Also masked where x or condition masked. """ tx = _makeMaskedArg(x) tcondition = _makeMaskedArg(condition) @@ -766,6 +775,7 @@ def transpose(a, axes=None): class _minimum_operation: + "Object to calculate minima" def __init__(self): @@ -886,8 +896,13 @@ def outer(self, a, b): def asarray(data, typecode=None, dtype=None): """asarray(data, typecode=None, dtype=None) is equivalent to array(data, dtype=None, copy=0) - Returns data if dtype is None or data is a MaskedArray of the same dtype. - typecode arg is for backward compatibility. + + + Returns + ------- + + data if dtype is None or data is a MaskedArray of the same dtype. + typecode arg is for backward compatibility. """ dtype = _convdtype(dtype, typecode) if isinstance(data, AbstractVariable) and ( @@ -939,7 +954,8 @@ def ones(myshape, typecode=float, savespace=0, axes=None, def outerproduct(a, b): - """outerproduct(a,b) = {a[i]*b[j]}, has shape (len(a),len(b))""" + """outerproduct(a,b) = {a[i]*b[j]}, has shape (len(a),len(b)) + """ ta = asVariable(a, writeable=1) tb = asVariable(b, writeable=1) maresult = numpy.ma.outerproduct(ta, tb) diff --git a/Lib/avariable.py b/Lib/avariable.py index f3e847bf..a2fed304 100644 --- a/Lib/avariable.py +++ b/Lib/avariable.py @@ -36,17 +36,24 @@ def getMinHorizontalMask(var): """ - Get the minimum mask associated with 'x' and 'y' (i.e. with the - min number of ones) across all axes + Get the minimum mask associated with 'x' and 'y' + (i.e. with the min number of ones) across all axes Parameters ---------- - var - CDMS variable with a mask - Return - ------ - mask array or None if order 'x' and 'y' were not found + var : + CDMS variable with a mask + + N/A : + None + + Returns + ------- + + mask array or None : + if order 'x' and 'y' were not found + """ from distarray import MultiArrayIter @@ -127,14 +134,21 @@ def getNumericCompatibility(): class AbstractVariable(CdmsObj, Slab): + """Not to be called by users. + + Parameters + ---------- + variableNode + is the variable tree node, if any. + parent + is the containing dataset instance. + """ + def info(self, flag=None, device=None): Slab.info(self, flag, device) def __init__(self, parent=None, variableNode=None): - """Not to be called by users. - variableNode is the variable tree node, if any. - parent is the containing dataset instance. - """ + if variableNode is not None and variableNode.tag != 'variable': raise CDMSError('Node is not a variable node') CdmsObj.__init__(self, variableNode) @@ -163,20 +177,20 @@ def __call__(self, *args, **kwargs): """ Selection of a subregion using selectors. - Parameters - ---------- - raw: - if set to 1, return numpy.ma only - squeeze: - if set to 1, eliminate any dimension of length 1 - grid: - if given, result is regridded ont this grid. - order: - if given, result is permuted into this order + **Parameters:** - Returns - ------- - Subregion selected + raw: + if set to 1, return numpy.ma only + squeeze: + if set to 1, eliminate any dimension of length 1 + grid: + if given, result is regridded ont this grid. + order: + if given, result is permuted into this order + + **Returns:** + + Subregion selected """ # separate options from selector specs d = kwargs.copy() @@ -468,6 +482,10 @@ def getAxisListIndex(self, axes=None, omit=None, order=None): If axes is `None`, use all axes of this variable. Other specificiations are as for axisMatchIndex. + + Returns + ------- + a list of indices of axis objects; """ return axisMatchIndex(self.getAxisList(), axes, omit, order) @@ -521,7 +539,8 @@ def getMissing(self, asarray=0): if asarray == 0 and isinstance(mv, numpy.ndarray): mv = mv[0] - if isinstance(mv, string_types) and self.dtype.char not in ['?', 'c', 'O', 'S']: + if isinstance(mv, string_types) and self.dtype.char not in [ + '?', 'c', 'O', 'S']: try: mv = float(mv) except BaseException: @@ -1426,7 +1445,8 @@ def _process_specs(self, specs, keys): nsupplied = len(specs) # numpy will broadcast if we have a new axis in specs # --------------------------------------------------- - if [x for x in specs if numpy.array_equal(x, numpy.newaxis)] == [numpy.newaxis]: + if [x for x in specs if numpy.array_equal(x, numpy.newaxis)] == [ + numpy.newaxis]: nnewaxis = 1 else: nnewaxis = 0 @@ -1713,8 +1733,13 @@ def __getitem__(self, key): raise IndexError("Index too large: %d" % key) speclist = self._process_specs([key], {}) - if [x for x in speclist if (type(x) is numpy.ndarray or type(x) is list)] != []: - index = [x for x in speclist if (type(x) is numpy.ndarray or type(x) is list)] + if [x for x in speclist if (isinstance( + x, numpy.ndarray) or isinstance(x, list))] != []: + index = [ + x for x in speclist if ( + isinstance( + x, numpy.ndarray) or isinstance( + x, list))] return self.data.take(index) # Note: raw=0 ensures that a TransientVariable is returned return self.getSlice(numericSqueeze=1, raw=0, isitem=1, *speclist) @@ -1823,14 +1848,15 @@ def astype(self, tc): def orderparse(order): """Parse an order string. Returns a list of axes specifiers. - Note - ---- - Order elements can be: - * Letters t, x, y, z meaning time, longitude, latitude, level - * Numbers 0-9 representing position in axes - * The letter - meaning insert the next available axis here. - * The ellipsis ... meaning fill these positions with any remaining axes. - * (name) meaning an axis whose id is name + + Note: + + Order elements can be: + * Letters t, x, y, z meaning time, longitude, latitude, level + * Numbers 0-9 representing position in axes + * The letter - meaning insert the next available axis here. + * The ellipsis ... meaning fill these positions with any remaining axes. + * (name) meaning an axis whose id is name """ if not isinstance(order, string_types): raise CDMSError('order arguments must be strings.') @@ -1861,14 +1887,15 @@ def orderparse(order): def order2index(axes, order): """Find the index permutation of axes to match order. The argument order is a string. - Note - ---- - Order elements can be: - * Letters t, x, y, z meaning time, longitude, latitude, level. - * Numbers 0-9 representing position in axes - * The letter - meaning insert the next available axis here. - * The ellipsis ... meaning fill these positions with any remaining axes. - * (name) meaning an axis whose id is name. + + Note: + + Order elements can be: + * Letters t, x, y, z meaning time, longitude, latitude, level. + * Numbers 0-9 representing position in axes + * The letter - meaning insert the next available axis here. + * The ellipsis ... meaning fill these positions with any remaining axes. + * (name) meaning an axis whose id is name. """ if isinstance(order, string_types): result = orderparse(order) diff --git a/Lib/cache.py b/Lib/cache.py index 75533113..7b4a761f 100644 --- a/Lib/cache.py +++ b/Lib/cache.py @@ -26,11 +26,17 @@ def lock(filename): """ Acquire a file-based lock with the given name. - Usage: lock(filename) - If the function returns, the lock was acquired successfully. + + Usage: + lock(filename) + + If the function returns, the lock was acquired successfully. + + Note: This function is UNIX-specific. - Note: It is important to delete the lock via unlock() if the process - is interrupted, otherwise subsequent locks will fail. + + Note: It is important to delete the lock via unlock() if the process is + interrupted, otherwise subsequent locks will fail. """ path = lockpath(filename) @@ -80,8 +86,13 @@ def lock(filename): def unlock(filename): """ Delete a file-based lock with the given name. - Usage:unlock(filename) - If the function returns, the lock was successfully deleted. + + Usage: + unlock(filename) + + If the function returns, the lock was successfully deleted. + + Note: This function is UNIX-specific. """ @@ -95,7 +106,9 @@ def lockpath(filename): """ Generate the pathname of a lock. Creates the directory containing the lock if necessary. - Usage: lockpath(filename) + + Usage: + lockpath(filename) """ global _cache_tempdir @@ -163,12 +176,22 @@ def useRequestManagerTransfer(): def copyFile(fromURL, toURL, callback=None, lcpath=None, userid=None, useReplica=1): """ - Copy file to local file . For FTP transfers, if cache._useWindow is true, - display a progress dialog, otherwise just print progress messages. + Copy file to local file . + + For FTP transfers, if cache._useWindow is true, display a progress dialog, + otherwise just print progress messages. + + For request manager transfers, is the logical collection distinguished name, + + Parameters + ---------- + + + is the string user ID, - For request manager transfers, is the logical collection distinguished name, - is the string user ID, is true iff the request manager should - search the replica catalog for the actual file to transfer. + + is true if the request manager should search the replica catalog for the actual + file to transfer. """ if callback is None: if _useWindow: @@ -276,6 +299,10 @@ def __init__(self): def get(self, filekey): """ Get the path associated with , or None if not present. +Parameters +---------- + + filekey for cache """ filekey = str(filekey) lock("index_lock") @@ -295,6 +322,10 @@ def get(self, filekey): def put(self, filekey, path): """ cache[filekey] = path +Parameters +---------- + + filekey for cache """ filekey = str(filekey) @@ -318,6 +349,11 @@ def put(self, filekey, path): def deleteEntry(self, filekey): """ Delete a cache index entry. + +Parameters +---------- + + filekey for cache """ filekey = str(filekey) @@ -335,9 +371,17 @@ def copyFile(self, fromURL, filekey, lcpath=None, """ Copy the file into the cache. Return the result path. - For request manager transfers, lcpath is the logical collection path, - is the string user ID, is true iff the request manager should - search the replica catalog for the actual file to transfer. + For request manager transfers, lcpath is the logical collection path, + +Parameters +---------- + + + is the string user ID, + + + + is true iff the request manager should search the replica catalog for the actual file to transfer. """ # Put a notification into the cache, that this file is being read. @@ -375,19 +419,37 @@ def copyFile(self, fromURL, filekey, lcpath=None, def getFile(self, fromURL, filekey, naptime=5, maxtries=60, lcpath=None, userid=None, useReplica=None): """ - Get the file with . If the file is in the cache, read it. - If another process is transferring it into the cache, wait for the - transfer to complete. is the number of seconds between - retries, is the maximum number of retries. - Otherwise, copy it from the remote file. + Get the file with . + + If the file is in the cache, read it. + + If another process is transferring it into the cache, wait for the + transfer to complete. - is the cache index key. A good choice is (datasetDN, filename) + + Parameters + --------- + + is the number of seconds between retries, + + + is the maximum number of retries. Otherwise, copy it from the remote file. + + + is the cache index key. A good choice is (datasetDN, filename) where datasetDN is the distinguished name of the dataset, and filename is the name of the file within the dataset. - For request manager transfers, is the logical collection path, - is the user string ID, is true iff the request manager should - search the replica catalog for the actual file to transfer. + For request manager transfers, + + + is the logical collection path, + + + is the user string ID, + + + is true iff the request manager should search the replica catalog for the actual file to transfer. Returns the path of a file in the cache. diff --git a/Lib/cdmsNode.py b/Lib/cdmsNode.py index fe96df8e..b0162b5d 100644 --- a/Lib/cdmsNode.py +++ b/Lib/cdmsNode.py @@ -500,7 +500,8 @@ class VariableNode(CdmsNode): # Create a variable. # If validate is true, validate immediately def __init__(self, id, datatype, domain): - assert isinstance(datatype, string_types), 'Invalid datatype: ' + repr(datatype) + assert isinstance( + datatype, string_types), 'Invalid datatype: ' + repr(datatype) assert datatype in CdDatatypes, 'Invalid datatype: ' + repr(datatype) assert datatype in CdDatatypes, 'Invalid datatype: ' + repr(datatype) CdmsNode.__init__(self, "variable", id) @@ -534,7 +535,8 @@ class AxisNode(CdmsNode): # data is a numpy array, if specified def __init__(self, id, length, datatype=CdLong, data=None): assert isinstance(length, int), 'Invalid length: ' + repr(length) - assert isinstance(datatype, string_types), 'Invalid datatype: ' + repr(datatype) + assert isinstance( + datatype, string_types), 'Invalid datatype: ' + repr(datatype) assert datatype in CdDatatypes, 'Invalid datatype: ' + repr(datatype) if data is not None: assert isinstance( diff --git a/Lib/cdscan.py b/Lib/cdscan.py old mode 100755 new mode 100644 diff --git a/Lib/cdurllib.py b/Lib/cdurllib.py index 9caac63f..dd8ec1f6 100644 --- a/Lib/cdurllib.py +++ b/Lib/cdurllib.py @@ -20,10 +20,14 @@ def __init__(self, proxies=None): # Attach an object to be returned with callbacks def setUserObject(self, userObject): + """ + """ self._userObject = userObject # Use FTP protocol def open_ftp(self, url): + """ + """ host, path = urllib.parse.splithost(url) if not host: raise IOError('ftp error', 'no host given') @@ -85,6 +89,8 @@ def open_ftp(self, url): raise IOError('ftp error', msg).with_traceback(sys.exc_info()[2]) def retrieve(self, url, filename=None, reporthook=None, blocksize=262144): + """ + """ url = urllib.unwrap(url) if self.tempcache and url in self.tempcache: return self.tempcache[url] diff --git a/Lib/cdurlparse.py b/Lib/cdurlparse.py index f8022a10..c4c04445 100644 --- a/Lib/cdurlparse.py +++ b/Lib/cdurlparse.py @@ -185,9 +185,11 @@ def urljoin(base, url, allow_fragments=1): def urldefrag(url): """Removes any existing fragment from URL. - Returns a tuple of the defragmented URL and the fragment. If - the URL contained no fragments, the second element is the - empty string. + Returns + ------- + + a tuple of the defragmented URL and the fragment. + If the URL contained no fragments, the second element is the empty string. """ s, n, p, a, q, frag = urlparse(url) defrag = urlunparse((s, n, p, a, q, '')) diff --git a/Lib/cdxmllib.py b/Lib/cdxmllib.py index afd510f5..9857b62d 100644 --- a/Lib/cdxmllib.py +++ b/Lib/cdxmllib.py @@ -143,6 +143,9 @@ def __fixdict(self, dict): # Interface -- reset this instance. Loses all unprocessed data def reset(self): + """ + Reset this instance. Loses all unprocessed data + """ self.rawdata = '' self.stack = [] self.nomoretags = 0 diff --git a/Lib/coord.py b/Lib/coord.py index 0d1d8107..6df98e7d 100644 --- a/Lib/coord.py +++ b/Lib/coord.py @@ -62,7 +62,20 @@ def createCoordinateAxis(data, bounds=None, id=None, copy=0): class AbstractCoordinateAxis(CdmsObj): + """ + Parameters + ---------- + clone + (self, copyData=1) + + _:None + + Returns + ------- + a copy of self as a transient axis. If copyData is 1, make a separate copy of the data. + + """ axis_count = 0 # Transient axis count def __init__(self, parent=None, variableNode=None, bounds=None): @@ -73,9 +86,9 @@ def isAbstractCoordinate(self): return 1 def clone(self, copyData=1): - """clone (self, copyData=1) - Return a copy of self as a transient axis. - If copyData is 1, make a separate copy of the data.""" + """ + + """ raise CDMSError(MethodNotImplemented) # Designate axis as a latitude axis. @@ -275,15 +288,32 @@ def writeToFile(self, file): class AbstractAxis2D(AbstractCoordinateAxis): + """ + Parameters + ---------- + + clone + (self, copyData=1) + + _:None + + + Returns + ------- + a copy of self as a transient axis. + + Note + ---- + If copyData is 1, make a separate copy of the data. + """ def __init__(self, parent=None, variableNode=None, bounds=None): AbstractCoordinateAxis.__init__( self, parent, variableNode, bounds=bounds) def clone(self, copyData=1): - """clone (self, copyData=1) - Return a copy of self as a transient axis. - If copyData is 1, make a separate copy of the data.""" + """ + """ result = TransientAxis2D( self[:], copy=copyData, @@ -363,13 +393,23 @@ def __repr__(self): class TransientAxis2D(AbstractAxis2D, TransientVariable): + """ + Create a transient 2D axis. + + All arguments are as for TransientVariable. + + Parameters + ---------- + bounds: + is the bounds array, having shape (m,n,nvert) where data.shape is (m,n) and + nvert: + is the max number of vertices per cell. + """ def __init__(self, data, typecode=None, copy=0, savespace=0, mask=None, fill_value=None, axes=None, attributes=None, id=None, copyaxes=1, bounds=None): - """Create a transient 2D axis. - All arguments are as for TransientVariable. - 'bounds' is the bounds array, having shape (m,n,nvert) where data.shape is (m,n) and - nvert is the max number of vertices per cell. + """ + """ AbstractAxis2D.__init__(self, None, None, bounds=bounds) TransientVariable.__init__(self, data, typecode=typecode, copy=copy, savespace=savespace, diff --git a/Lib/cudsinterface.py b/Lib/cudsinterface.py index 470081f4..fdc68339 100644 --- a/Lib/cudsinterface.py +++ b/Lib/cudsinterface.py @@ -63,11 +63,15 @@ def cleardefault(self): def listall(self, vname=None, all=None): """Get info about data from the file. - ::: - Options::: - vname :: (str/None) (None) variable name - all :: (None/True/False/int) (None) include axes information - ::: + + Options + + vname + (str/None) (None) variable name + + all + (None/True/False/int) (None) include axes information + """ if vname is None: vname = self.default_variable_name @@ -103,10 +107,12 @@ def listall(self, vname=None, all=None): def listattribute(self, vname=None): """Get attributes of data from the file. - ::: - Options::: - vname :: (str/None) (None) variable name - ::: + + Options + + vname + (str/None) (None) variable name + """ if vname is None: vname = self.default_variable_name @@ -114,12 +120,20 @@ def listattribute(self, vname=None): return list(v.attributes.keys()) def listdimension(self, vname=None): - """Return a list of the dimension names associated with a variable. + """ + + Returns + ------- + + a list of the dimension names associated with a variable. If no argument, return the file.axes.keys() - ::: - Options::: - vname :: (str/None) (None) variable name - ::: + + + Options + + vname + (str/None) (None) variable name + """ if vname is None: return list(self.axes.keys()) @@ -129,14 +143,29 @@ def listdimension(self, vname=None): return [getattr(n, 'id') for n in x] def listglobal(self): - """Returns a list of the global attributes in the file. - ::: + """ + + Returns + ------- + + a list of the global attributes in the file. + _None_ + + """ return list(self.attributes.keys()) def listvariable(self): - """Return a list of the variables in the file. - ::: + """ + + Returns + ------- + + a list of the variables in the file. + + _None_ + + """ return list(self.variables.keys()) @@ -144,10 +173,12 @@ def listvariable(self): def showglobal(self, device=None): """Show the global attributes in the file. - ::: - Options::: - device :: (None/file) (None) output device - ::: + + Options + + device + (None/file) (None) output device + """ if device is None: device = sys.stdout @@ -159,10 +190,13 @@ def showglobal(self, device=None): def showvariable(self, device=None): """Show the variables in the file. - ::: - Options::: - device :: (None/file) (None) output device - ::: + + Options + + + device + (None/file) (None) output device + """ if device is None: device = sys.stdout @@ -174,11 +208,14 @@ def showvariable(self, device=None): def showattribute(self, vname=None, device=None): """Show the attributes of vname. - ::: - Options::: - vname :: (str/None) (None) variable name - device :: (None/file) (None) output device - ::: + + Options + + vname + (str/None) (None) variable name + device + (None/file) (None) output device + """ if device is None: device = sys.stdout @@ -194,11 +231,15 @@ def showattribute(self, vname=None, device=None): def showdimension(self, vname=None, device=None): """Show the dimension names associated with a variable. - ::: - Options::: - vname :: (str/None) (None) variable name - device :: (None/file) (None) output device - ::: + + Options + + vname + (str/None) (None) variable name + + device + (None/file) (None) output device + """ if device is None: device = sys.stdout @@ -214,12 +255,16 @@ def showdimension(self, vname=None, device=None): def showall(self, vname=None, all=None, device=None): """Show a full description of the variable. - ::: - Options::: - vname :: (str/None) (None) variable name - all :: (None/True/False/int) (None) include axes information - device :: (None/file) (None) output device - ::: + + Options + + vname + (str/None) (None) variable name + all + (None/True/False/int) (None) include axes information + device + (None/file) (None) output device + """ if device is None: device = sys.stdout @@ -231,16 +276,20 @@ def showall(self, vname=None, all=None, device=None): def dimensionobject(self, dname, vname=None): """CDMS axis object for the dimension named dname. - ::: - Options::: - vname :: (str/None) (None) variable name - ::: - Input::: - dname :: (str) (0) dimension name - ::: - Output::: - axis :: (cdms2.axis.FileAxis) (0) file axis whose id is vname - ::: + + Options + + vname + (str/None) (None) variable name + + Input + dname + (str) (0) dimension name + + Output + axis + (cdms2.axis.FileAxis) (0) file axis whose id is vname + """ if vname is None: try: @@ -260,44 +309,53 @@ def dimensionobject(self, dname, vname=None): def dimensionarray(self, dname, vname=None): """Values of the dimension named dname. - ::: - Options::: - vname :: (str/None) (None) variable name - ::: - Input::: - dname :: (str) (0) dimension name - ::: - Output::: - axisvalues :: (numpy.ndarray) (0) array with values of axis whose id is vname - ::: - """ + + Options + + vname + (str/None) (None) variable name + + Input + dname + (str) (0) dimension name + + Output + axisvalues + (numpy.ndarray) (0) array with values of axis whose id is vname + """ return self.dimensionobject(dname, vname).getValue() def getdimensionunits(self, dname, vname=None): """Get the units for the given dimension. - ::: - Options::: - vname :: (str/None) (None) variable name - ::: - Input::: - dname :: (str) (0) dimension name - ::: - Output::: - units :: (str) (0) units of axis whose id is vname - ::: + + Options + + vname + (str/None) (None) variable name + + Input + dname + (str) (0) dimension name + + Output + units + (str) (0) units of axis whose id is vname + """ x = self.dimensionobject(dname, vname) return x.units def getglobal(self, attribute): """Get the value of the global attribute. - ::: - Input::: - attribute :: (str) (0) global attribute name - ::: - Output::: - attribute_value :: (str/int/float/numpy.ndarray) (0) value of requested global attribute - ::: + + Input + attribute + (str) (0) global attribute name + + Output + attribute_value + (str/int/float/numpy.ndarray) (0) value of requested global attribute + """ try: return self.attributes[attribute] @@ -306,21 +364,29 @@ def getglobal(self, attribute): def getattribute(self, vname, attribute): """Get the value of attribute for variable vname - ::: - Input::: - vname :: (str/None) (0) variable name - attribute :: (str) (1) attribute name - ::: - Output::: - attribute_value :: (str/int/float/numpy.ndarray) (0) value of requested attribute - ::: + + Input + vname + (str/None) (0) variable name + + attribute + (str) (1) attribute name + + Output + attribute_value + (str/int/float/numpy.ndarray) (0) value of requested attribute + """ v = self._v(vname) return getattr(v, attribute) def getslab(self, vname, *args, **keys): - """getslab('name', arg1, arg2, ....) returns a cdms variable - containing the data. + """ + + + getslab ('name', arg1, arg2, ....) + + returns a cdms variable containing the data. Arguments for each dimension can be: (1) : or None -- selected entire dimension @@ -328,24 +394,35 @@ def getslab(self, vname, *args, **keys): (3) a pair of successive arguments giving an interval in world coordinates. (4) a cdms-style tuple of world coordinates e.g. (start, stop, 'cc') - ::: - Options::: - args :: (*tuple/*cdms2.selectors.Selector) () tuple of type (val1,val2,'cob') + + Options + + args + (*tuple/*cdms2.selectors.Selector) () tuple of type (val1,val2,'cob') for any given dimension or cdms selector - ::: - Keys::: - squeeze :: (int/True/False) (0) squeezes (removes) dimensions of length 1 - order :: (str) ('...') reorder the dimensions, can use numbers or xyzt or dim - names in between paranthesis - raw :: (int/True/False) (0) return a numpy.ma instead of a transient variable - grid :: (cdms2.grid.AbstractGrid) (None) regrid the result to the grid passed - ::: - Input::: - vname :: (str/None) (0) variable name - ::: - Output::: - variable :: (cdms2.tvariable.TransientVariable) (0) variable requested - ::: + + Keys + squeeze + (int/True/False) (0) squeezes (removes) dimensions of length 1 + + order + (str) ('...') reorder the dimensions, can use numbers or xyzt or dim + names in between paranthesis + + raw + (int/True/False) (0) return a numpy.ma instead of a transient variable + + grid + (cdms2.grid.AbstractGrid) (None) regrid the result to the grid passed + + Input + vname + (str/None) (0) variable name + + Output + variable + (cdms2.tvariable.TransientVariable) (0) variable requested + """ nargs = len(args) v = self._v(vname) @@ -392,19 +469,26 @@ def getslab(self, vname, *args, **keys): def readScripGrid(self, whichGrid="destination", checkGrid=1): """Read a SCRIP curvilinear or generic grid from the dataset. - The dataset can be a SCRIP grid file or mapping file. If a mapping file, - 'whichGrid' chooses the grid to read, either "source" or "destination". - If 'checkGrid' is 1 (default), the grid cells are checked for convexity, - and 'repaired' if necessary. - Returns the grid object. - ::: - Options::: - whichGrid :: (str) ('destination') grid to read - checkGrid (int) (1) if 1 the grid cells are checked for convexity - ::: - Output::: - grid :: (cdms2.hgrid.TransientCurveGrid/cdms2.gengrid.TransientGenericGrid) (0) variable requested - ::: + + The dataset can be a SCRIP grid file or mapping file. If a mapping file, 'whichGrid' + chooses the grid to read, either "source" or "destination". + + If 'checkGrid' is 1 (default), the grid cells are checked for convexity, and 'repaired' + if necessary. + + Returns the grid object. + + Options + + whichGrid + (str) ('destination') grid to read + + checkGrid + (int) (1) if 1 the grid cells are checked for convexity + + Output grid + (cdms2.hgrid.TransientCurveGrid/cdms2.gengrid.TransientGenericGrid) (0) variable requested + """ from . import hgrid, gengrid diff --git a/Lib/database.py b/Lib/database.py index 731acb8d..b96f4118 100644 --- a/Lib/database.py +++ b/Lib/database.py @@ -39,27 +39,24 @@ def connect(uri=None, user="", password=""): """ - Method: - connect(uri=None, user="", password="") + Method: connect(uri=None, user="", password="") - Description: + Description: Open a CDMS database connection. - Open a CDMS database connection. + Arguments - Arguments: + uri: Universal Resource Identifier. If unspecified, defaults to the environment variable CDMSROOT. + user: user id + password: password - uri: Universal Resource Identifier. If unspecified, defaults to the environment variable CDMSROOT. - user: user id - password: password + Returns + ------- + Database instance. - Returns: - - Database instance. - - Example: - - db = cdms.connect("ldap://dbhost.llnl.gov/database=CDMS,ou=PCMDI,o=LLNL,c=US") + Example + ------- + db = cdms.connect("ldap://dbhost.llnl.gov/database=CDMS,ou=PCMDI,o=LLNL,c=US") """ if uri is None: try: @@ -106,10 +103,19 @@ def connect(uri=None, user="", password=""): def loadString(text, uri, parent=None, datapath=None): - """ Create a dataset from a text string. is the string in CDML format. - is the URL of the dataset in a catalog or file. - is the containing database object, if any. - is the location of data files relative to the parent database URL. + """ Create a dataset from a text string. + + + is the string in CDML format. + + + is the URL of the dataset in a catalog or file. + + + is the containing database object, if any. + + + is the location of data files relative to the parent database URL. """ p = CDMLParser() p.feed(text) @@ -194,16 +200,17 @@ def __init__(self, uri, db): def close(self): """ - Method: + Method - close() + close() - Description: + Description - Close a database connection. - Returns: + Close a database connection. + Returns + ------- None """ @@ -218,14 +225,25 @@ def __del__(self): self.close() def normalizedn(self, dn): + """ + normalizedn + + Returns + ------- + string + """ explodeddn = ldap.explode_dn(dn) return string.join(explodeddn, ',') def cachecdml(self, name, cdml, datapath): + """ + """ normaldn = self.normalizedn(name) self._cdmlcache_[normaldn] = (cdml, datapath) def getDataset(self, dn): + """ + """ normaldn = self.normalizedn(dn) if normaldn in self._cache_: dataset = self._cache_[normaldn] @@ -255,6 +273,8 @@ def getDataset(self, dn): return dataset def getObjFromDataset(self, dn): + """ + """ # Get the parent dataset explodeddn = ldap.explode_dn(dn) @@ -274,25 +294,25 @@ def getObjFromDataset(self, dn): def openDataset(self, dsetid, mode='r'): """ - Method: + Method openDataset(dsetid, mode='r') - Description: + Description Open a dataset. - Arguments: + Arguments dsetid: string dataset identifier mode: open mode ('r' - read-only, 'r+' - read-write, 'w' - create) - Returns: - + Returns + ------- Dataset instance. - Example: - + Example + ------- dset = db.openDataset('ncep_reanalysis_mo') """ dn = "dataset=%s,%s" % (dsetid, self.path) @@ -326,58 +346,77 @@ def setExternalDict(self, ldapattrs): def searchFilter(self, filter=None, tag=None, relbase=None, scope=Subtree, attnames=None, timeout=None): """ - Method: + Method - searchFilter(filter=None, tag=None, relbase=None, scope=Subtree, attnames=None, timeout=None) + searchFilter + (filter=None, tag=None, relbase=None, scope=Subtree, attnames=None, timeout=None) - Description: + Description - Search a CDMS database. + Search a CDMS database. - Arguments: + Arguments - - filter: string search filter - Simple filters have the form "tag = value". Simple filters can be combined using - logical operators '&', '|', '!' in prefix notation. For example, - the filter '(&(objectclass=variable)(id=cli))' finds all variables named cli. + filter: string search filter + Simple filters have the form "tag = value". Simple filters can be combined + using logical operators '&', '|', '!' in prefix notation. For example, + the filter '(&(objectclass=variable)(id=cli))' finds all variables named cli. - More formally: + More formally - filter ::= "(" filtercomp ")" - filtercomp ::= "&" filterlist | # and + filter = "(" filtercomp ")" + + filtercomp = "&" filterlist | # and "|" filterlist | # or "!" filterlist | # not simple - filterlist ::= filter | filter filterlist - simple ::= tag op value - op ::= "=" | # equality + + filterlist = filter | filter filterlist + + simple = tag op value + + op = "=" | # equality "~=" | # approximate equality "<=" | # lexicographically less than or equal to ">=" # lexicographically greater than or equal to - value ::= string, may include '*' as a wild card - tag: string class tag ("dataset" | "variable" | "database" | "axis" | "grid"). - Restricts the search to a class of objects - relbase: string search base, relative to the database path - scope: search scope (Subtree | Onelevel | Base). Subtree searches the base object and its descendants. - Onelevel searches the base object and its immediate descendants. Base searches the base object alone. + value = string, may include '*' as a wild card + + tag: string class tag ("dataset" | "variable" | "database" | "axis" | "grid"). + Restricts the search to a class of objects + + relbase: string search base, relative to the database path + scope: search scope (Subtree | Onelevel | Base). Subtree searches the base object and its descendants. + + Onelevel searches the base object and its immediate descendants. Base searches the base object alone. Default is Subtree. - attnames: list of attribute names. Restricts the attributes returned. - timeout: integer number of seconds before timeout. - Returns: + attnames: + list of attribute names. Restricts the attributes returned. + + timeout: + integer number of seconds before timeout. + + Returns + ------- + SearchResult instance. - SearchResult instance. Entries can be accessed sequentially. For each entry, entry.name is the - name of the entry, entry.attributes is a dictionary of the attributes returned by the search, - entry.getObject() returns the CDMS object associated with the entry: + Entries can be accessed sequentially. - for entry in result: - print entry.name, entry.attributes["id"] + For each entry, - Entries can be refined with searchPredicate(). + entry.name is the name of the entry, - Example: + entry.attributes is a dictionary of the attributes returned by the search, + entry.getObject() returns the CDMS object associated with the entry: + + for entry in result: print entry.name, entry.attributes["id"] + + Entries can be refined with searchPredicate(). + + Example + ------- (1) Find all variables named "cli": result = db.searchFilter(filter="id=cli",tag="variable") @@ -464,37 +503,36 @@ def __getitem__(self, key): def searchPredicate(self, predicate, tag=None): """ - Method: + Method - searchPredicate(predicate, tag=None) + searchPredicate(predicate, tag=None) - Description: + Description - Refine a search result, with a predicate search. + Refine a search result, with a predicate search. - Arguments: + Arguments - predicate: Function name or lambda function. The function takes a single CDMS object, + predicate: Function name or lambda function. The function takes a single CDMS object, and returns true (1) if the object satisfies the predicate, 0 if not. - tag: Restrict the search to objects in one class. - - Returns: - - SearchResult instance. Entries can be accessed sequentially. For each entry, entry.name is the - name of the entry, entry.attributes is a dictionary of the attributes returned by the search, - entry.getObject() returns the CDMS object associated with the entry: + tag: Restrict the search to objects in one class. - for entry in result: - print entry.name, entry.attributes["id"] + Returns + ------- + SearchResult instance. Entries can be accessed sequentially. For each entry, entry.name is the + name of the entry, entry.attributes is a dictionary of the attributes returned by the search, + entry.getObject() returns the CDMS object associated with the entry: - Entries can be refined with searchPredicate(). + for entry in result: + print entry.name, entry.attributes["id"] - Example: + Entries can be refined with searchPredicate(). - (1) Find all variables on a 73x96 grid - - newresult = result.searchPredicate(lambda obj: obj.getGrid().shape==(73,96),"variable") + Example + ------- + (1) Find all variables on a 73x96 grid + newresult = result.searchPredicate(lambda obj: obj.getGrid().shape==(73,96),"variable") """ if tag is not None: tag = string.lower(tag) @@ -522,16 +560,16 @@ def __init__(self, db): def getObject(self): """ - Method: - + Method + ------ getObject() - Description: - + Description + ----------- Get the CDMS object associated with this entry. - Returns: - + Returns + ------- Instance of a CDMS object. """ diff --git a/Lib/dataset.py b/Lib/dataset.py index c55bc6c8..902aa438 100644 --- a/Lib/dataset.py +++ b/Lib/dataset.py @@ -4,11 +4,11 @@ """ CDMS dataset and file objects""" from __future__ import print_function from .error import CDMSError +import sys from . import Cdunif import numpy from . import cdmsNode import os -import sys import string import urllib from urllib.parse import urlparse, urlunparse @@ -342,36 +342,41 @@ def getNetcdfUseParallelFlag(): def getNetcdf4Flag(): - """Returns - ------- + """ + Returns + ------- NetCDF4 flag value.""" return Cdunif.CdunifGetNCFLAGS("netcdf4") def getNetcdfClassicFlag(): - """Returns - ------- + """ + Returns + ------- NetCDF classic flag value.""" return Cdunif.CdunifGetNCFLAGS("classic") def getNetcdfShuffleFlag(): - """Returns - ------- + """ + Returns + ------- NetCDF shuffle flag value.""" return Cdunif.CdunifGetNCFLAGS("shuffle") def getNetcdfDeflateFlag(): - """Returns - ------- + """ + Returns + ------- NetCDF deflate flag value. """ return Cdunif.CdunifGetNCFLAGS("deflate") def getNetcdfDeflateLevelFlag(): - """Returns - ------- + """ + Returns + ------- NetCDF deflate level flag value.""" return Cdunif.CdunifGetNCFLAGS("deflate_level") @@ -379,8 +384,8 @@ def getNetcdfDeflateLevelFlag(): def useNetcdf3(): """ Turns off (0) NetCDF flags for shuffle/cuDa/deflatelevel Output files are generated as NetCDF3 Classic after that - Returns - ------- + Returns + ------- No return value. """ setNetcdfShuffleFlag(0) @@ -430,6 +435,7 @@ def createDataset(path, template=None): ---------- path: is the XML file name, or netCDF filename for simple file creation. + template: is a string template for the datafile(s), for dataset creation. @@ -1164,7 +1170,11 @@ def openFile(self, filename, mode): def getLogicalCollectionDN(self, base=None): """Return the logical collection distinguished name of this dataset. - If is defined, append it to the lc name. + + + Note + ---- + If is defined, append it to the lc name. """ if hasattr(self, "lc"): dn = self.lc @@ -1175,7 +1185,11 @@ def getLogicalCollectionDN(self, base=None): return dn def getVariable(self, id): - "Get the variable object with the given id. Returns None if not found." + """Get the variable object with the given id. + + Returns + ------- + None if not found.""" return self.variables.get(id) def getVariables(self, spatial=0): @@ -1192,11 +1206,19 @@ def getVariables(self, spatial=0): return retval def getAxis(self, id): - "Get the axis object with the given id. Returns None if not found." + """Get the axis object with the given id. + + Returns + ------- + None if not found.""" return self.axes.get(id) def getGrid(self, id): - "Get the grid object with the given id. Returns None if not found." + """Get the grid object with the given id. + + Returns + ------- + None if not found.""" return self.grids.get(id) def __repr__(self): diff --git a/Lib/forecast.py b/Lib/forecast.py index 50ceea90..3f973992 100644 --- a/Lib/forecast.py +++ b/Lib/forecast.py @@ -1,6 +1,9 @@ # Forecast support, experimental coding # probably all this will be rewritten, put in a different directory, etc. +"""CDMS Forecast""" + + from __future__ import print_function import numpy import cdtime @@ -11,10 +14,17 @@ def two_times_from_one(t): - """Input is a time representation, either as the long int used in the cdscan - script, or a string in the format "2010-08-25 15:26:00", or as a cdtime comptime - (component time) object. - Output is the same time, both as a long _and_ as a comptime.""" + """ + Parameters + ---------- + + Input + is a time representation, either as the long int used in the cdscan + script, or a string in the format "2010-08-25 15:26:00", or as a cdtime comptime + (component time) object. + + Output + is the same time, both as a long _and_ as a comptime.""" if t == 0: t = 0 if isinstance(t, string_types): @@ -48,27 +58,49 @@ def two_times_from_one(t): def comptime(t): - """Input is a time representation, either as the long int used in the cdscan - script, or a string in the format "2010-08-25 15:26:00", or as a cdtime comptime - (component time) object. - Output is the same time a cdtime.comptime (component time).""" + """ + Parameters + --------- + Input + is a time representation, either as the long int used in the cdscan + script, or a string in the format "2010-08-25 15:26:00", or as a cdtime comptime + (component time) object. + Output + is the same time a cdtime.comptime (component time).""" tl, tc = two_times_from_one(t) return tc class forecast(): - """represents a forecast starting at a single time""" + """represents a forecast starting at a single time + + Parameters + ---------- + + tau0time + is the first time of the forecast, i.e. the time at which tau=0. + + dataset_list + is used to get the forecast file from the forecast time. + + Example + ------- + + Each list item should look like this example: + [None, None, None, None, 2006022200000L, 'file2006-02-22-00000.nc'] + Normally dataset_list = fm[i][1] where fm is the output of + cdms2.dataset.parseFileMap and fm[i][0] matches the variables of interest. + + Note + ---- + + N.B. This is like a CdmsFile. Creating a forecast means opening a file, + so later on you should call forecast.close() to close it. + """ def __init__(self, tau0time, dataset_list, path="."): - """tau0time is the first time of the forecast, i.e. the time at which tau=0. - dataset_list is used to get the forecast file from the forecast time. - Each list item should look like this example: - [None, None, None, None, 2006022200000L, 'file2006-02-22-00000.nc'] - Normally dataset_list = fm[i][1] where fm is the output of - cdms2.dataset.parseFileMap and fm[i][0] matches the variables of interest. - - N.B. This is like a CdmsFile. Creating a forecast means opening a file, - so later on you should call forecast.close() to close it. + """ + """ self.fctl, self.fct = two_times_from_one(tau0time) @@ -81,6 +113,7 @@ def __init__(self, tau0time, dataset_list, path="."): self.file = cdms2.open(self.filename) def close(self): + """close file.""" self.file.close() def __call__(self, varname): @@ -97,12 +130,19 @@ def __repr__(self): def available_forecasts(dataset_file, path="."): - """Returns a list of forecasts (as their generating times) which are - available through the specified cdscan-generated dataset xml file. - The forecasts are given in 64-bit integer format, but can be converted - to component times with the function two_times_from_one. - This function may help in choosing the right arguments for initializing - a "forecasts" (forecast set) object. + """ + + Returns + ------- + a list of forecasts (as their generating times) which are available + through the specified cdscan-generated dataset xml file. + + Note + ---- + The forecasts are given in 64-bit integer format, but can be converted + to component times with the function two_times_from_one. + This function may help in choosing the right arguments for initializing + a "forecasts" (forecast set) object. """ dataset = cdms2.openDataset(dataset_file, dpath=path) fm = cdms2.dataset.parseFileMap(dataset.cdms_filemap) @@ -112,45 +152,53 @@ def available_forecasts(dataset_file, path="."): class forecasts(): - """represents a set of forecasts""" + """represents a set of forecasts + + + Example + ------- + + Creates a set of forecasts. Normally you do it by something like + f = forecasts( 'file.xml', (min_time, max_time) ) + or + f = forecasts( 'file.xml', (min_time, max_time), '/home/me/data/' ) + or + f = forecasts( 'file.xml', [ time1, time2, time3, time4, time5 ] ) + + where the two or three arguments are:: + + 1. the name of a dataset xml file generated by "cdscan --forecast ..." + + 2. Times here are the times when the forecasts began (tau=0, aka reference time). + (i) If you use a 2-item tuple, forecasts will be chosen which start at a time + t between the min and max times, e.g. min_time <= t < max_time . + (ii) If you use a list, it will be the exact start (tau=0) times for the + forecasts to be included. + (iii) If you use a 3-item tuple, the first items are (min_time,max_time) + as in a 2-item tuple. The third component of the tuple is the + open-closed string. This determines whether endpoints are included + The first character should be 'o' or 'c' depending on whether you want t with + min_time`__).\n", + "\n", + "As previously noted, a spatial and/or temporal coordinate system may be\n", + "associated with a variable. The methods getLatitude, getLongitude,\n", + "getLevel, and getTime return the associated coordinate axes. For\n", + "example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "t = u.getTime()\n", + "print t[:]\n", + "\n", + "print t.units" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Attributes\n", + "\n", + "As mentioned above, variables can have associated attributes ,\n", + "name-value pairs. In fact, nearly all CDMS objects can have associated\n", + "attributes, which are accessed using the Python dot notation:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "u.units='m/s'\n", + "print u.units" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Attribute values can be strings, scalars, or 1-D Numpy arrays.\n", + "\n", + "When a variable is written to a file, not all the attributes are\n", + "written. Some attributes, called internal attributes, are used for\n", + "bookkeeping, and are not intended to be part of the external file\n", + "representation of the variable. In contrast, external attributes are\n", + "written to an output file along with the variable. By default, when an\n", + "attribute is set, it is treated as external. Every variable has a field\n", + "attributes, a Python dictionary that defines the external attributes:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print u.attributes.keys()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Python dir command lists the internal attribute names:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dir(u)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In general internal attributes should not be modified directly. One\n", + "exception is the id attribute, the name of the variable. It is used in\n", + "plotting and I/O, and can be set directly." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Masked values\n", + "\n", + "Optionally, variables have a mask that represents where data are\n", + "missing. If present, the mask is an array of ones and zeros having the\n", + "shape of the data array. A mask value of one indicates that the\n", + "corresponding data array element is missing or invalid.\n", + "\n", + "Arithmetic operations in CDMS take missing data into account. The same\n", + "is true of the functions defined in the cdms2.MV2 module. For example:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "a = MV2.array([1,2,3]) # Create array a, with no mask\n", + "b = MV2.array([4,5,6]) # Same for b\n", + "a+b # variable_... array([5,7,9,]) \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "a[1]=MV2.masked # Mask the second value of a a.mask()\n", + "a.mask\n", + "\n", + "a+b # The sum is masked also " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When data is read from a file, the result variable is masked if the file\n", + "variable has a missing_value attribute. The mask is set to one for\n", + "those elements equal to the missing value, zero elsewhere. If no such\n", + "attribute is present in the file, the result variable is not masked.\n", + "\n", + "When a variable with masked values is written to a file, data values\n", + "with a corresponding mask value of one are set to the value of the\n", + "variables ``missing_value`` attribute. The data and ``missing_value``\n", + "attribute are then written to the file.\n", + "\n", + "Masking is covered in `Section 2.9 `__. See also the\n", + "documentation of the Python Numpy and MA modules, on which ``cdms.MV``\n", + "is based, at\n", + "\n", + "`https://www.numpy.org/ `__." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "File Variables\n", + "\n", + "A variable can be obtained either from a file, a collection of files, or\n", + "as the result of computation. Correspondingly there are three types of\n", + "variables in CDMS:\n", + "\n", + "- *file variable* is a variable associated with a single data file.\n", + " Setting or referencing a file variable generates I/O operations.\n", + "- A *dataset variable* is a variable associated with a collection of\n", + " files. Reference to a dataset variable reads data, possibly from\n", + " multiple files. Dataset variables are read-only.\n", + "- *transient variable* is an in-memory object not associated with a\n", + " file or dataset. Transient variables result from a computation or I/O\n", + " operation.\n", + "\n", + "Typical use of a file variables is to inquire information about the\n", + "variable in a file without actually reading the data for the variables.\n", + "A file variable is obtained by applying the slice operator [] to a file,\n", + "passing the name of the variable, or by calling the getVariable\n", + "function. Note that obtaining a file variable does not actually read the\n", + "data array:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "u = f.getVariable('u') # or u=f['u']\n", + "u.shape \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "File variables are also useful for fine-grained I/O. They behave like\n", + "transient variables, but operations on them also affect the associated\n", + "file. Specifically:\n", + "\n", + "- slicing a file variable reads data,\n", + "- setting a slice writes data,\n", + "- referencing an attribute reads the attribute,\n", + "- setting an attribute writes the attribute,\n", + "- and calling a file variable like a function reads data associated\n", + " with the variable:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "os.system(\"cp clt.nc /tmp\")\n", + "\n", + "f = cdms2.open('/tmp/clt.nc','a') # Open read/write\n", + "uvar = f['u'] # Note square brackets\n", + "uvar.shape\n", + "\n", + "u0 = uvar[0] # Reads data from sample.nc\n", + "u0.shape\n", + "\n", + "uvar[1]=u0 # Writes data to sample.nc\n", + "uvar.units # Reads the attribute 'm/s'\n", + "\n", + "u24 = uvar(time=1.0) # Calling a variable like a function reads data\n", + "f.close() # Save changes to clt.nc (I/O may be buffered)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For transient variables, the data is printed only if the size of the array is less\n", + "than the print limit . This value can be set with the function\n", + "MV.set_print_limit to force the data to be printed:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "MV2.get_print_limit() # Current limit 1000\n", + "\n", + "smallvar \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "MV2.set_print_limit(100)\n", + "largevar " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The datatype of the variable is determined with the typecode function:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "u.typecode()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Dataset Variables\n", + "\n", + "The third type of variable, a *dataset variable*, is associated with a\n", + "*dataset*, a collection of files that is treated as a single file. A\n", + "dataset is created with the ``cdscan`` utility. This generates an XML\n", + "metafile that describes how the files are organized and what metadata\n", + "are contained in the files. In a climate simulation application, a\n", + "dataset typically represents the data generated by one run of a general\n", + "circulation or coupled ocean-atmosphere model.\n", + "\n", + "For example, suppose data for variables u and v are stored in six files:\n", + "\n", + "1. u_2000.nc,\n", + "2. u_2001.nc,\n", + "3. u_2002.nc,\n", + "4. v_2000.nc,\n", + "5. v_2001.nc,\n", + "6. v_2002.nc.\n", + "\n", + "A metafile can be generated with the command:\n", + "\n", + "**$ cdscan -x cdsample.xml [uv]*.nc**\n", + "\n", + "The metafile **cdsample.xml** is then used like an ordinary data file:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "os.system(\"cdscan -x cdsample.xml [uv]*.nc\")\n", + "\n", + "f = cdms2.open('cdsample.xml')\n", + "u = f('u')\n", + "u.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Grids\n", + "\n", + "A latitude-longitude grid represents the coordinate information\n", + "associated with a variable. A grid encapsulates:\n", + "\n", + "- latitude, longitude coordinates\n", + "- grid cell boundaries\n", + "- area weights\n", + "\n", + "CDMS defines a rich set of grid types to represent the variety of\n", + "coordinate systems used in climate model applications. Grids can be\n", + "categorized as rectangular or nonrectangular.\n", + "\n", + "A rectangular grid has latitude and longitude axes that are\n", + "one-dimensional, with strictly monotonic values. The grid is essentially\n", + "the Cartesian product of the axes. If either criterion is not met, the\n", + "grid is nonrectangular .\n", + "\n", + "CDMS supports two types of nonrectangular grid:\n", + "\n", + "- A curvilinear grid consists of a latitude and longitude axis, each of\n", + " which is a two-dimensional coordinate axis. Curvilinear grids are\n", + " often used in ocean model applications.\n", + "- A generic grid consists of a latitude and longitude axis, each of\n", + " which is an auxiliary one-dimensional coordinate axis. An auxiliary\n", + " axis has values that are not necessarily monotonic. As the name\n", + " suggests, generic grids can represent virtually any type of grid.\n", + " However, it is more difficult to determine adjacency relationships\n", + " between grid points." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Example: A Curvilinear Grid\n", + "\n", + "In this example, variable sample is defined on a 128x192 curvilinear\n", + "grid. Note that:\n", + "\n", + "- The domain of variable sample is ( y , x ) where y and x are index\n", + " coordinate axes.\n", + "- The curvilinear grid associated with sample consists of axes ( lat ,\n", + " lon ), each a two-dimensional coordinate axis.\n", + "- lat and lon each have domain ( y , x )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "f = cdms2.open('sampleCurveGrid4.nc')\n", + "\n", + "\n", + "# lat and lon are coordinate axes, but are grouped with data variables\n", + "f.variables.keys()\n", + "\n", + "\n", + "# y and x are index coordinate axes\n", + "f.axes.keys()\n", + "\n", + "\n", + "# Read data for variable sample\n", + "sample = f('sample')\n", + "\n", + "# The associated grid g is curvilinear\n", + "g = sample.getGrid()\n", + "\n", + "# The domain of the variable consfigists of index axes\n", + "sample.getAxisIds()\n", + "\n", + "\n", + "# Get the coordinate axes associated with the grid\n", + "lat = g.getLatitude() # or sample.getLatitude()\n", + "lon = g.getLongitude() # or sample.getLongitude()\n", + "\n", + "# lat and lon have the same domain, a subset of the domain of 'sample'\n", + "lat.getAxisIds()\n", + "\n", + "\n", + "# lat and lon are variables ...\n", + "lat.shape\n", + "\n", + "\n", + "lat \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "lat_in_radians = lat*MV2.pi/180.0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Example: A Generic Grid\n", + "\n", + "In this example variable zs is defined on a generic grid. Figure 2\n", + "illustrates the grid, in this case a geodesic grid:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "f.variables.keys()\n", + "\n", + "f.axes.keys()\n", + "\n", + "zs = f('sample')\n", + "g = zs.getGrid()\n", + "g\n", + "\n", + "lat = g.getLatitude()\n", + "lon = g.getLongitude()\n", + "lat.shape\n", + "\n", + "lon.shape # variable zs is defined in terms of a single index coordinate\n", + "\n", + "# axis, 'cell'\n", + "zs.shape\n", + "\n", + "zs.getAxisIds()\n", + "\n", + "\n", + "# lat and lon are also defined in terms of the cell axis\n", + "lat.getAxisIds()\n", + "\n", + "\n", + "# lat and lon are one-dimensional, 'auxiliary' coordinate\n", + "# axes: values are not monotonic\n", + "lat.__class__" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " Figure 2: Generic Grid\n", + "\n", + "Generic grids can be used to represent any of the grid types. The method\n", + "toGenericGrid can be applied to any grid to convert it to a generic\n", + "representation. Similarly, a rectangular grid can be represented as\n", + "curvilinear. The method toCurveGrid is used to convert a non-generic\n", + "grid to curvilinear representation:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "f = cdms2.open(cdat_info.get_sampledata_path()+'/clt.nc')\n", + "clt = f('clt')\n", + "rectgrid = clt.getGrid()\n", + "rectgrid.shape\n", + "\n", + "curvegrid = rectgrid.toCurveGrid()\n", + "curvegrid\n", + "\n", + "genericgrid = curvegrid.toGenericGrid()\n", + "genericgrid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Regridding\n", + "\n", + "Regridding is the process of mapping variables from one grid to another.\n", + "CDMS supports two forms of regridding. Which one you use depends on the\n", + "class of grids being transformed:\n", + "\n", + "- To interpolate from one rectangular grid to another, use the built-in\n", + " CDMS regridder. CDMS also has built-in regridders to interpolate from\n", + " one set of pressure levels to another, or from one vertical\n", + " cross-section to another.\n", + "- To interpolate from any lat-lon grid, rectangular or non-rectangular,\n", + " use the SCRIP regridder." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CDMS Regridder\n", + "\n", + "The built-in CDMS regridder is used to transform data from one\n", + "rectangular grid to another. For example, to regrid variable ``u`` (from\n", + "a rectangular grid) to a 96x192 rectangular Gaussian grid:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "f = cdms2.open('clt.nc')\n", + "u = f('u')\n", + "u.shape\n", + "\n", + "t63_grid = cdms2.createGaussianGrid(96)\n", + "u63 = u.regrid(t63_grid)\n", + "u63.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To regrid a variable ``uold`` to the same grid as variable ``vnew``:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "f = cdms2.open('clt.nc')\n", + "uold = f('u')\n", + "unew = f2('uwnd')\n", + "uold.shape\n", + "\n", + "unew.shape\n", + "\n", + "t63_grid = unew.getGrid() # Obtain the grid for vnew\n", + "u63 = uold.regrid(t63_grid)\n", + "u63.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "SCRIP Regridder\n", + "\n", + "To interpolate between any lat-lon grid types, the SCRIP regridder may\n", + "be used. The SCRIP package was developed at [Los Alamos National\n", + "Laboratory] (https://oceans11.lanl.gov/drupal/Models/OtherSoftware).\n", + "SCRIP is written in Fortran 90, and must be built and installed\n", + "separately from the CDAT/CDMS installation.\n", + "\n", + "The steps to regrid a variable are:\n", + "\n", + "(external to CDMS)\n", + "\n", + "1. Obtain or generate the grids, in SCRIP netCDF format.\n", + "2. Run SCRIP to generate a *remapping* file.\n", + "\n", + "(in CDMS)\n", + "\n", + "1. Read the regridder from the SCRIP remapping file.\n", + "2. Call the regridder with the source data, returning data on the target\n", + " grid.\n", + "\n", + "Steps 1 and 2 need only be done once. The regridder can be used as often\n", + "as necessary.\n", + "\n", + "#For example, suppose the source data on a T42 grid is to be mapped to a\n", + "#POP curvilinear grid. Assume that SCRIP generated a remapping file named\n", + "#rmp_T42_to_POP43_conserv.nc:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Import regrid package for regridder functions\n", + "import regrid2, cdms2\n", + "\n", + "# Get the source variable\n", + "f = cdms2.open('sampleT42Grid.nc')\n", + "dat = f('src_array')\n", + "f.close()\n", + "\n", + "# Read the regridder from the remapper file\n", + "remapf = cdms2.open('rmp_T42_to_POP43_conserv.nc')\n", + "regridf = regrid2.readRegridder(remapf)\n", + "remapf.close()\n", + "\n", + "# Regrid the source variable\n", + "popdat = regridf(dat)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Regridding is discussed in `Chapter 4 `__." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time types\n", + "\n", + "CDMS provides extensive support for time values in the cdtime module.\n", + "cdtime also defines a set of calendars , specifying the number of days\n", + "in a given month.\n", + "\n", + "Two time types are available: relative time and component time .\n", + "Relative time is time relative to a fixed base time. It consists of:\n", + "\n", + "- a ``units`` string, of the form ``\"units since basetime\"`` , and\n", + "- a floating-point ``value``\n", + "\n", + "For example, the time \"28.0 days since 1996-1-1\" has value= 28.0 , and\n", + "units=\" days since 1996-1-1\". To create a relative time type:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import cdtime\n", + "rt = cdtime.reltime(28.0, \"days since 1996-1-1\")\n", + "rt\n", + "\n", + "rt.value\n", + "\n", + "rt.units" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A component time consists of the integer fields year, month, day, hour,\n", + "minute , and the floating-point field second . For example:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ct = cdtime.comptime(1996,2,28,12,10,30)\n", + "ct\n", + "\n", + "ct.year\n", + "\n", + "ct.month" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The conversion functions tocomp and torel convert between the two\n", + "representations. For instance, suppose that the time axis of a variable\n", + "is represented in units \" days since 1979\" . To find the coordinate\n", + "value corresponding to January 1, 1990:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ct = cdtime.comptime(1990,1)\n", + "rt = ct.torel(\"days since 1979\")\n", + "rt.value" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time values can be used to specify intervals of time to read. The syntax\n", + "time=(c1,c2) specifies that data should be read for times t such that\n", + "c1<=t<=c2:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fh = cdms2.open(cdat_info.get_sampledata_path() + \"/tas_6h.nc\")\n", + "c1 = cdtime.comptime(1980,1)\n", + "c2 = cdtime.comptime(1980,2)\n", + "tas = fh['tas']\n", + "tas.shape\n", + "\n", + "x = tas.subRegion(time=(c1,c2))\n", + "x.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "or string representations can be used:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fh = cdms2.open(cdat_info.get_sampledata_path() + \"/tas_6h.nc\")\n", + "tas = fh['tas']\n", + "x = tas.subRegion(time=('1980-1','1980-2'))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time types are described in Chapter 3." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plotting data\n", + "\n", + "Data read via the CDMS Python interface can be plotted using the vcs\n", + "module. This module, part of the Climate Data Analysis Tool (CDAT) is documented in the VCS reference manual. The\n", + "vcs module provides access to the functionality of the VCS visualization\n", + "program.\n", + "\n", + "To generate a plot:\n", + "\n", + "- Initialize a canvas with the ``vcs init`` routine.\n", + "- Plot the data using the canvas ``plot`` routine.\n", + "\n", + "For example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import cdms2, vcs, cdat_info\n", + "fh=cdms2.open(cdat_info.get_sampledata_path() + \"/tas_cru_1979.nc\")\n", + "fh['time'][:] # Print the time coordinates\n", + "\n", + "\n", + "\n", + "tas = fh('tas', time=1479)\n", + "tas.shape\n", + "\n", + "w = vcs.init() # Initialize a canvas\n", + "w.plot(tas) # Generate a plot" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "By default for rectangular grids, a boxfill plot of the lat-lon slice is\n", + "produced. Since variable precip includes information on time, latitude,\n", + "and longitude, the continental outlines and time information are also\n", + "plotted. If the variable were on a non-rectangular grid, the plot would\n", + "be a meshfill plot.\n", + "\n", + "The plot routine has a number of options for producing different types\n", + "of plots, such as isofill and x-y plots. See `Chapter 5 `__\n", + "for details." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Databases\n", + "\n", + "Datasets can be aggregated together into hierarchical collections,\n", + "called databases . In typical usage, a program:\n", + "\n", + "- connects to a database\n", + "- searches for data opens a dataset\n", + "- accesses data\n", + "\n", + "Databases add the ability to search for data and metadata in a\n", + "distributed computing environment. At present CDMS supports one\n", + "particular type of database, based on the Lightweight Directory Access\n", + "Protocol (LDAP).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here is an example of accessing data via a database:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "db = cdms.connect() # Connect to the default database.\n", + "f = db.open('ncep_reanalysis_mo') # Open a dataset.\n", + "f.variables.keys() # List the variables in the dataset." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Databases are discussed further in Section 2.7 __.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.15" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/chapter2.ipynb b/chapter2.ipynb new file mode 100644 index 00000000..db767067 --- /dev/null +++ b/chapter2.ipynb @@ -0,0 +1,3006 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CDMS Python Application Programming Interface" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "OVERVIEW\n", + "=============\n", + "\n", + "\n", + "\n", + "This chapter describes the CDMS Python application programming interface\n", + "(API). Python is a popular public-domain, object-oriented language. Its\n", + "features include support for object-oriented development, a rich set of\n", + "programming constructs, and an extensible architecture. CDMS itself is\n", + "implemented in a mixture of C and Python. In this chapter the assumption\n", + "is made that the reader is familiar with the basic features of the\n", + "Python language.\n", + "\n", + "Python supports the notion of a module, which groups together associated\n", + "classes and methods. The import command makes the module accessible to\n", + "an application. This chapter documents the cdms, cdtime, and regrid\n", + "modules.\n", + "\n", + "The chapter sections correspond to the CDMS classes. Each section\n", + "contains table\n", + "s base. If no parent, the datapath is absolute.describing\n", + "the class internal (non-persistent) attributes, constructors (functions\n", + "for creating an object), and class methods (functions). A method can\n", + "return an instance of a CDMS class, or one of the Python types:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \"Array\", \"Numpy or masked multidimensional data array. All elements of the array are of the same type. Defined in the Numpy and MV2 modules.\"\n", + " \"Comptime\", \"Absolute time value, a time with representation (year, month, day, hour, minute, second). Defined in the cdtime module. cf. reltime\" \n", + " \"Dictionary\",\"An unordered 2,3 collection of objects, indexed by key. All dictionaries in CDMS are indexed by strings, e.g.: ``axes['time']``\"\n", + " \"Float\", \"Floating-point value.\"\n", + " \"Integer\", \"Integer value.\"\n", + " \"List\", \"An ordered sequence of objects, which need not be of the same type. New members can be inserted or appended. Lists are denoted with square brackets, e.g., ``[1, 2.0, 'x', 'y']``\"\n", + " \"None\", \"No value returned.\"\n", + " \"Reltime\", \"Relative time value, a time with representation (value, units since basetime). Defined in the cdtime module. cf. comptime\"\n", + " \"Tuple\", \"An ordered sequence of objects, which need not be of the same type. Unlike lists, tuples elements cannot be inserted or appended. Tuples are denoted with parentheses, e.g., ``(1, 2.0, 'x', 'y')``\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A First Example\n", + "\n", + "\n", + "The following Python script reads January and July monthly temperature\n", + "data from an input dataset, averages over time, and writes the results\n", + "to an output file. The input temperature data is ordered (time,\n", + "latitude, longitude)." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "ename": "CDMSError", + "evalue": "Cannot open file /export/reshel3/anaconda52/envs/cdms2/share/uvcdat/sample_data/tas_mo.nc (No error)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mCDMSError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcdat_info\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mcdms2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mMV\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mjones\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcdat_info\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_sampledata_path\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;34m'/tas_mo.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mtasvar\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mjones\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'tas'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mjans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtasvar\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m12\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36mopenDataset\u001b[0;34m(uri, mode, template, dods, dpath, hostObj)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[0;31m# rank\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 495\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexists\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 496\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mCdmsFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmpiBarrier\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mCdMpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 497\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"w\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path, mode, hostObj, mpiBarrier)\u001b[0m\n\u001b[1;32m 1276\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCdunif\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCdunifFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1277\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1278\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mCDMSError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cannot open file %s (%s)'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1279\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;31m# Cdunif file object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1280\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mCDMSError\u001b[0m: Cannot open file /export/reshel3/anaconda52/envs/cdms2/share/uvcdat/sample_data/tas_mo.nc (No error)" + ] + } + ], + "source": [ + "import cdms2, cdat_info\n", + "from cdms2 import MV\n", + "jones = cdms2.open(cdat_info.get_sampledata_path()+'/tas_mo.nc')\n", + "tasvar = jones['tas']\n", + "jans = tasvar[0::12]\n", + "julys = tasvar[6::12]\n", + "janavg = MV.average(jans)\n", + "janavg.id = \"tas_jan\"\n", + "janavg.long_name = \"mean January surface temperature\"\n", + "julyavg = MV.average(julys)\n", + "julyavg.id = \"tas_jul\"\n", + "julyavg.long_name = \"mean July surface temperature\"\n", + "out = cdms2.open('janjuly.nc','w')\n", + "out.write(janavg)\n", + "\n", + "out.write(julyavg)\n", + "\n", + "out.comment = \"Average January/July from Jones dataset\"\n", + "jones.close()\n", + "out.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \"2,3\", \"Makes the CDMS and MV modules available.\n", + " * MV defines arithmetic functions.\"\n", + " \"4\", \"Opens a netCDF file read-only. \n", + " * The result jones is a dataset object.\"\n", + " \"5\", \"Gets the surface air temperature variable. ‘tas’ is the name of the variable in the input dataset. \n", + " * This does not actually read the data.\"\n", + " \"6\", \"Read all January monthly mean data into a variable jans.\n", + " * Variables can be sliced like arrays. \n", + " * The slice operator [0::12] means take every 12th slice from dimension 0, starting at index 0 and ending at the last index. \n", + " * If the stride 12 were omitted, it would default to 1. \n", + " **Note:** that the variable is actually 3-dimensional. Since no slice is specified for the second or third dimensions, all values of those 2,3 dimensions are retrieved. The slice operation could also have been written [0::12, : , :]. \n", + "\n", + " **Also note:** that the same script works for multi-file datasets. CDMS opens the needed data files, extracts the appropriate slices, and concatenates them into the result array.\"\n", + " \"7\", \"Reads all July data into a masked array julys.\"\n", + " \"8\", \"Calculate the average January value for each grid zone.\n", + " * Any missing data is handled automatically.\"\n", + " \"9,10\", \"Set the variable id and long\\_name attributes. \n", + " * The id is used as the name of the variable when plotted or written to a file.\"\n", + " \"14\", \"Create a new netCDF output file named ‘janjuly.nc’ to hold the results.\"\n", + " \"15\", \"Write the January average values to the output file. \n", + " * The variable will have id “tas\\_jan” in the file.\n", + " * ``write`` is a utility function which creates the variable in the file, then writes data to the variable.\n", + " * A more general method of data output is first to create a variable, then set a slice of the variable.\n", + " **Note:** that janavg and julavg have the same latitude and longitude information as tasvar. It is carried along with the computations.\"\n", + " \"17\", \"Set the global attribute ‘comment’.\"\n", + " \"18\", \"Close the output file.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cdms Module\n", + "\n", + "\n", + "The cdms module is the Python interface to CDMS. The objects and methods\n", + "in this chapter are made accessible with the command:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import cdms2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The functions described in this section are not associated with a class.\n", + "Rather, they are called as module functions, e.g.," + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "ename": "CDMSError", + "evalue": "Cannot open file /export/reshel3/cdms/sample.nc (No error)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mCDMSError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mfile\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'sample.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36mopenDataset\u001b[0;34m(uri, mode, template, dods, dpath, hostObj)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[0;31m# rank\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 495\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexists\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 496\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mCdmsFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmpiBarrier\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mCdMpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 497\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"w\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path, mode, hostObj, mpiBarrier)\u001b[0m\n\u001b[1;32m 1276\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCdunif\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCdunifFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1277\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1278\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mCDMSError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cannot open file %s (%s)'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1279\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;31m# Cdunif file object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1280\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mCDMSError\u001b[0m: Cannot open file /export/reshel3/cdms/sample.nc (No error)" + ] + } + ], + "source": [ + "file = cdms2.open('sample.nc')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cdms Module Functions\n", + "\n", + " \"``Variable``\", \"``asVariable(s)``: \n", + " Transform ``s`` into a transient variable.\n", + " * ``s`` is a masked array, Numpy array, or Variable. \n", + " * If ``s`` is already a transient variable, ``s`` is returned. \n", + " * See also: ``isVariable``.\"\n", + " \"``Axis``\", \"``createAxis(data, bounds=None)``:\n", + " Create a one-dimensional coordinate Axis, which is not associated with a file or dataset. This is useful for creating a grid which is not contained in a file or dataset.\n", + " * ``data`` is a one-dimensional, monotonic Numpy array.\n", + " * ``bounds`` is an array of shape ``(len(data),2)``, such that for all ``i``, \n", + " * ``data[i]`` is in the range ``[bounds[i,0],bounds[i,1] ]``.\n", + " * If ``bounds`` is not specified, the default boundaries are generated at the midpoints between the consecutive data values, provided that the autobounds mode is 'on' (the default). \n", + " * See ``setAutoBounds``. \n", + " * Also see: ``CdmsFile.createAxis``\"\n", + " \"``Axis``\", \"``createEqualAreaAxis(nlat)``: \n", + " Create an equal-area latitude axis. \n", + " * The latitude values range from north to south, and for all axis values ``x[i]``, ``sin(x[i])sin(x[i+1])`` is constant. \n", + " * ``nlat`` is the axis length. \n", + " **Note:** The axis is not associated with a file or dataset.\"\n", + " \"``Axis``\", \"``createGaussianAxis(nlat)``: \n", + " Create a Gaussian latitude axis.\\\n", + " * Axis values range from north to south. \n", + " * ``nlat`` is the axis length. \n", + " **Note:** The axis is not associated with a file or dataset.\"\n", + " \"``RectGrid``\", \"``createGaussianGrid(nlats, xorigin=0.0, order='yx')``:\n", + " Create a Gaussian grid, with shape ``(nlats, 2*nlats)``. \n", + " * ``nlats`` is the number of latitudes. \n", + " * ``xorigin`` is the origin of the longitude axis. \n", + " * ``order`` is either 'yx' (lat-lon, default) or 'xy' (lon-lat)\"\n", + " \"``RectGrid``\", \"``createGenericGrid(latArray, lonArray, latBounds=None, lonBounds=None, order='yx', mask=None)``:\n", + " Create a generic grid, that is, a grid which is not typed as Gaussian, uniform, or equal-area. The grid is not associated with a file or dataset. \n", + " * ``latArray`` is a NumPy array of latitude values.\n", + " * ``lonArray`` is a NumPy array of longitude values. \n", + " * ``latBounds`` is a NumPy array having shape ``(len(latArray),2)``, of latitude boundaries. \n", + " * ``lonBounds`` is a NumPy array having shape ``(len(lonArray),2)``, of longitude boundaries. \n", + " * ``order`` is a ``string`` specifying the order of the axes, either 'yx' for (latitude, longitude), or 'xy' for the reverse.\n", + " * ``mask`` (optional) is an ``integer``-valued NumPy mask array, having the same shape and ordering as the grid.\" \n", + " \"``RectGrid``\", \"``createGlobalMeanGrid(grid)``:\n", + " Generate a grid for calculating the global mean via a regridding operation. The return grid is a single zone covering the range of the input grid.\n", + " * ``grid`` is a RectGrid.\"\n", + " \"``RectGrid``\", \"``createRectGrid(lat, lon, order, type='generic', mask=None)``:\n", + " Create a rectilinear grid, not associated with a file or dataset. This might be used as the target grid for a regridding operation. \n", + " * ``lat`` is a latitude axis, created by ``cdms.createAxis``. \n", + " * ``lon`` is a longitude axis, created by ``cdms.createAxis``. \n", + " * ``order`` is a string with value 'yx' (the first grid dimension is latitude) or 'xy' (the first grid dimension is longitude). \n", + " * ``type`` is one of 'gaussian','uniform','equalarea',or 'generic'. \n", + " * If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid.\"\n", + " \"``RectGrid``\", \"``createUniformGrid(startLat, nlat, deltaLat, start-Lon, nlon, deltaLon, order='yx', mask=None)``:\n", + " Create a uniform rectilinear grid. \n", + " * The grid is not associated with a file or dataset. \n", + " * The grid boundaries are at the midpoints of the axis values. \n", + " * ``startLat`` is the starting latitude value. \n", + " * ``nlat`` is the number of latitudes. If ``nlat`` is 1, the grid latitude boundaries will be ``startLat`` +/- ``deltaLat/2``.\n", + " * ``deltaLat`` is the increment between latitudes.\n", + " * ``startLon`` is the starting longitude value.\n", + " * ``nlon`` is the number of longitudes. If ``nlon`` is 1, the grid longitude boundaries will be ``startLon`` +/- ``deltaLon/2``.\n", + " * ``deltaLon`` is the increment between longitudes.\n", + " * ``order`` is a string with value 'yx. (the first grid dimension is latitude) or .xy. (the first grid dimension is longitude).\n", + " * If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid.\"\n", + " \"``Axis``\", \"``createUniformLatitudeAxis(startLat , nlat, deltaLat)``:\n", + " Create a uniform latitude axis.\n", + " * The axis boundaries are at the midpoints of the axis values.\n", + " * The axis is designated as a circular latitude axis. \n", + " * ``startLat`` is the starting latitude value.\n", + " * ``nlat`` is the number of latitudes.\n", + " * ``deltaLat`` is the increment between latitudes.\"\n", + " \"``RectGrid``\",\"``createZonalGrid(grid)``:\n", + " Create a zonal grid.\n", + " * The output grid has the same latitude as the input grid, and a single longitude. \n", + " * This may be used to calculate zonal averages via a regridding operation. \n", + " * ``grid`` is a RectGrid.\"\n", + " \"``Axis``\", \"``createUniformLongitudeAxis(startLon, nlon, delta-Lon)``: \n", + " Create a uniform longitude axis.\n", + " * The axis boundaries are at the midpoints of the axis values.\n", + " * The axis is designated as a circular longitude axis. \n", + " * ``startLon`` is the starting longitude value.\n", + " * ``nlon`` is the number of longitudes\n", + " * ``deltaLon`` is the increment between longitudes.\"\n", + " \"``Variable``\", \"``createVariable(array, typecode=None, copy=0, savespace=0, mask=None, fill_value=None, grid=None, axes=None , attributes=None, id=None)``:\"\n", + " \"``Integer``\", \"``getAutoBounds()``: \n", + " Get the current autobounds mode. Returns 0, 1, or 2.\n", + " * See ``setAutoBounds``.\"\n", + " \"``Integer``\", \"``isVariable(s)``: \n", + " * Return ``1`` if ``s`` is a variable, ``0`` otherwise.\n", + " * See also: ``asVariable``.\"\n", + " \"``Dataset``\", \"``open(url,mode='r')``:\n", + " Open or create a ``Dataset`` or ``CdmsFile``. \n", + " * ``url`` is a Uniform Resource Locator, referring to a cdunif or XML file. \n", + " * If the URL has the extension '.xml' or '.cdml', a ``Dataset`` is returned, otherwise a ``CdmsFile`` is returned. \n", + " * If the URL protocol is 'https', the file must be a '.xml' or '.cdml' file, and the mode must be 'r'.\n", + " * If the protocol is 'file' or is omitted, a local file or dataset is opened.\n", + " * ``mode`` is the open mode. See `Open Modes <#id3>`__\n", + "\n", + " **Example**: Open an existing dataset: ``f = cdms.open('sampleset.xml')``\n", + "\n", + " **Example**: Create a netCDF file: ``f = cdms.open('newfile.nc','w')``\"\n", + " \"``List``\", \"``order2index (axes, orderstring)``:\n", + " Find the index permutation of axes to match order. Return a list of indices.\n", + " * ``axes`` is a list of axis objects.\n", + " * ``orderstring`` is defined as in ``orderparse``.\"\n", + " \"``List``\", \"``orderparse(orderstring)``:\n", + " Parse an order string. Returns a list of axes specifiers. ``orderstring`` consists of:\n", + " * Letters t, x, y, z meaning time, longitude, latitude, level\n", + " * Numbers 0-9 representing position in axes\n", + " * Dash (-) meaning insert the next available axis here.\n", + " * The ellipsis ... meaning fill these positions with any remaining axes.\n", + " * (name) meaning an axis whose id is name\"\n", + " \"``None``\", \"``setAutoBounds(mode)``: \n", + " Set autobounds mode. In some circumstances CDMS can generate boundaries for 1-D axes and rectilinear grids, when the bounds are not explicitly defined. The autobounds mode determines how this is done:\n", + " * If ``mode`` is ``'grid'`` or ``2`` (the default), the ``getBounds`` method will automatically generate boundary information for an axis or grid if the axis is designated as a latitude or longitude axis, and the boundaries are not explicitly defined.\n", + " * If ``mode`` is ``'on'`` or ``1``, the ``getBounds`` method will automatically generate boundary information for an axis or grid, if the boundaries are not explicitly defined. \n", + " * If ``mode`` is ``'off'`` or ``0``, and no boundary data is explicitly defined, the bounds will NOT be generated; the ``getBounds`` method will return ``None`` for the boundaries.\n", + "\n", + " **Note:** In versions of CDMS prior to V4.0, the default ``mode`` was ``'on'``.\"\n", + " \"``None``\", \"``setClassifyGrids(mode)``:\n", + " Set the grid classification mode. This affects how grid type is determined, for the purpose of generating grid boundaries.\n", + " * If ``mode`` is ``'on'`` (the default), grid type is determined by a grid classification method, regardless of the value of ``grid.get-Type()``. \n", + " * If ``mode`` is ``'off'``, the value of ``grid.getType()`` determines the grid type.\" \n", + " \"``None``\", \"``writeScripGrid(path, grid, gridTitle=None)``:\n", + " Write a grid to a SCRIP grid file. \n", + " * ``path`` is a string, the path of the SCRIP file to be created. \n", + " * ``grid`` is a CDMS grid object. It may be rectangular. \n", + " * ``gridTitle`` is a string ID for the grid.\"\n", + ":" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Class Tags\n", + "\n", + " \"‘axis’\", \"Axis\"\n", + " \"‘database’\", \"Database\"\n", + " \"‘dataset’\", \"Dataset, CdmsFile \"\n", + " \"‘grid’\", \"RectGrid\"\n", + " \"‘variable’\", \"Variable\"\n", + " \"‘xlink’\", \"Xlink\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CdmsObj\n", + "\n", + "A CdmsObj is the base class for all CDMS database objects. At the\n", + "application level, CdmsObj objects are never created and used directly.\n", + "Rather the subclasses of CdmsObj (Dataset, Variable, Axis, etc.) are the\n", + "basis of user application programming.\n", + "\n", + "All objects derived from CdmsObj have a special attribute .attributes.\n", + "This is a Python dictionary, which contains all the external\n", + "(persistent) attributes associated with the object. This is in contrast\n", + "to the internal, non-persistent attributes of an object, which are\n", + "built-in and predefined. When a CDMS object is written to a file, the\n", + "external attributes are written, but not the internal attributes.\n", + "\n", + "**Example**: get a list of all external attributes of obj." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'obj' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mextatts\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mattributes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'obj' is not defined" + ] + } + ], + "source": [ + "extatts = obj.attributes.keys()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Attributes Common to All CDMS Objects\n", + "\n", + " \"Dictionary\", \"attributes\", \"External attribute dictionary for this object.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Getting and Setting Attributes\n", + "\n", + " \"various\", \"``value = obj.attname``\n", + " Get an internal or external attribute value. \n", + " * If the attribute is external, it is read from the database.\n", + " * If the attribute is not already in the database, it is created as an external attribute. \n", + " * Internal attributes cannot be created, only referenced.\"\n", + " \"various\", \"``obj.attname = value``\n", + " Set an internal or external attribute value.\n", + " * If the attribute is external, it is written to the database.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CoordinateAxis\n", + "\n", + "A CoordinateAxis is a variable that represents coordinate information.\n", + "It may be contained in a file or dataset, or may be transient\n", + "(memoryresident). Setting a slice of a file CoordinateAxis writes to the\n", + "file, and referencing a file CoordinateAxis slice reads data from the\n", + "file. Axis objects are also used to define the domain of a Variable.\n", + "\n", + "CDMS defines several different types of CoordinateAxis objects. See `MV module <#id5>`_\n", + "documents methods that are common to all CoordinateAxis\n", + "types. See `HorizontalGrid <#id7>`_ specifies methods that are unique to 1D\n", + "Axis objects." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CoordinateAxis Types\n", + "\n", + " \"``CoordinateAxis``\", \"A variable that represents coordinate information.\n", + " * Has subtypes ``Axis2D`` and ``AuxAxis1D``.\"\n", + " \"``Axis``\", \"A one-dimensional coordinate axis whose values are strictly monotonic. \n", + " * Has subtypes ``DatasetAxis``, ``FileAxis``, and ``TransientAxis``.\n", + " * May be an index axis, mapping a range of integers to the equivalent floating point value.\n", + " * If a latitude or longitude axis, may be associated with a ``RectGrid``.\"\n", + " \"``Axis2D``\", \"A two-dimensional coordinate axis, typically a latitude or longitude axis related to a ``CurvilinearGrid``. \n", + " * Has subtypes ``DatasetAxis2D``, ``FileAxis2D``, and ``TransientAxis2D``.\"\n", + " \"``AuxAxis1D``\", \"A one-dimensional coordinate axis whose values need not be monotonic. Typically a latitude or longitude axis associated with a ``GenericGrid``.\n", + " * Has subtypes ``DatasetAuxAxis1D``, ``FileAuxAxis1D``, and ``TransientAuxAxis1D``. \n", + " * An axis in a ``CdmsFile`` may be designated the unlimited axis, meaning that it can be extended in length after the initial definition.\n", + " * There can be at most one unlimited axis associated with a ``CdmsFile``.\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CoordinateAxis Internal Attributes\n", + "\n", + " \"``Dictionary``\", \"``attributes``\", \"External attribute dictionary.\"\n", + " \"``String``\", \"``id``\", \"CoordinateAxis identifier.\"\n", + " \"``Dataset``\", \"``parent``\", \"The dataset which contains the variable.\"\n", + " \"``Tuple``\", \"``shape``\", \"The length of each axis.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CoordinateAxis Constructors\n", + "\n", + " \"``cdms.createAxis(data, bounds=None)``\", \"Create an axis which is not associated with a dataset or file. See `A First Example <#a-first-example>`_.\"\n", + " \"``Dataset.createAxis(name,ar)``\", \"Create an ``Axis`` in a ``Dataset``. (This function is not yet implemented.)\"\n", + " \"``CdmsFile.createAxis(name,ar,unlimited=0)``\", \"Create an Axis in a ``CdmsFile``.\n", + " * ``name`` is the string ``name`` of the ``Axis``. \n", + " * ``ar`` is a 1-D data array which defines the ``Axis`` values.\n", + " * It may have the value ``None`` if an unlimited axis is being defined. \n", + " * At most one ``Axis`` in a ``CdmsFile`` may be designated as being unlimited, meaning that it may be extended in length.\n", + " To define an axis as unlimited, either:\n", + " \n", + " * A) set ``ar`` to ``None``, and leave ``unlimited`` undefined, or\n", + " * B) set ``ar`` to the initial 1-D array, and set ``unlimited`` to ``cdms.Unlitmited``\n", + "\n", + " * ``cdms.createEqualAreaAxis(nlat)`` See `A First Example`_.\n", + " * ``cdms.createGaussianAxis(nlat)`` See `A First Example`_.\n", + " * ``cdms.createUniformLatitudeAxis(startlat, nlat, deltalat)`` See `A First Example`_.\n", + " * ``cdms.createUniformLongitudeAxis(startlon, nlon, deltalon)`` See `A First Example`_ .\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CoordinateAxis Methods\n", + "\n", + " \"``Array``\", \"``array = axis[i:j]``\", \"Read a slice of data from the external file or dataset.\n", + " * Data is returned in the physical ordering defined in the dataset.\n", + " * See `Variable Slice Operators <#id15>`_ for a description of slice operators.\"\n", + " \"``None``\", \"``axis[i:j] = array``\", \"Write a slice of data to the external file.\n", + " * Dataset axes are read-only.\"\n", + " \"``None``\", \"``assignValue(array)``\", \"Set the entire value of the axis.\n", + " * ``array`` is a Numpy array, of the same dimensionality as the axis.\"\n", + " \"``Axis``\", \"``clone(copyData=1)``\", \"Return a copy of the axis, as a transient axis.\n", + " * If ``copyData`` is 1 (the default) the data itself is copied.\"\n", + " \"``None``\", \"``designateLatitude(persistent=0)``\", \"Designate the axis to be a latitude axis.\n", + " * If persistent is true, the external file or dataset (if any) is modified. \n", + " * By default, the designation is temporary.\"\n", + " \"``None``\", \"``designateLevel(persistent=0)``\", \"Designate the axis to be a vertical level axis.\n", + " * If persistent is true, the external file or dataset (if any) is modified. \n", + " * By default, the designation is temporary.\"\n", + " \"``None``\", \"``designateLongitude(persistent=0, modulo=360.0)``\", \"Designate the axis to be a longitude axis.\n", + " * ``modulo`` is the modulus value. Any given axis value\n", + " * ``x`` is treated as equivalent to ``x + modulus``. \n", + " * If ``persistent`` is true, the external file or dataset (if any) is modified. \n", + " * By default, the designation is temporary.\"\n", + " \"``None``\", \"``designateTime(persistent=0, calendar = cdtime.MixedCalendar)``\", \"Designate the axis to be a time axis.\n", + " * If ``persistent`` is true, the external file or dataset (if any) is modified. \n", + " * By default, the designation is temporary.\n", + " * ``calendar`` is defined as in ``getCalendar()``.\"\n", + " \"``Array``\", \"``getBounds()``\", \"Get the associated boundary array. The shape of the return array depends on the type of axis:\n", + " * ``Axis``: ``(n,2)``\n", + " * ``Axis2D``: ``(i,j,4)``\n", + " * ``AuxAxis1D``: ``(ncell, nvert)`` where nvert is the maximum number of vertices of a cell.\n", + " * If the boundary array of a latitude or longitude ``Axis`` is not explicitly defined, and ``autoBounds`` mode is on, a default array is generated by calling ``genGenericBounds``. Otherwise if auto-Bounds mode is off, the return value is ``None``.\n", + " * See ``setAutoBounds``.\"\n", + " \"``Integer``\", \"``getCalendar()``\", \"Returns the calendar associated with the ``(time)``\\ axis. Possible return values, as defined in the ``cdtime`` module, are:\n", + "\n", + " * ``cdtime.GregorianCalendar``: the standard Gregorian calendar\n", + " * ``cdtime.MixedCalendar``: mixed Julian/Gregorian calendar\n", + " * ``cdtime.JulianCalendar``: years divisible by 4 are leap years\n", + " * ``cdtime.NoLeapCalendar``: a year is 365 days\n", + " * ``cdtime.Calendar360``: a year is 360 days\n", + " * ``None``: no calendar can be identified\n", + " **Note** If the axis is not a time axis, the global, file-related calendar is returned.\"\n", + " \"``Array``\", \"``getValue()``\", \"Get the entire axis vector.\"\n", + " \"``Integer``\", \"``isLatitude()``\", \"Returns true if the axis is a latitude axis.\"\n", + " \"``Integer``\", \"``isLevel()``\", \"Returns true if the axis is a level axis.\"\n", + " \"``Integer``\", \"``isLongitude()``\", \"Returns true if the axis is a longitude axis.\"\n", + " \"``Integer``\", \"``isTime()``\", \"Returns true if the axis is a time axis.\"\n", + " \"``Integer``\", \"``len(axis)``\", \"The length of the axis if one-dimensional. If multidimensional, the length of the first dimension.\"\n", + " \"``Integer``\", \"``size()``\", \"The number of elements in the axis.\"\n", + " \"``String``\", \"``typecode()``\", \"The ``Numpy`` datatype identifier.\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CoordinateAxis Methods, Additional to CoordinateAxis\n", + "\n", + "\n", + " \"``List`` of component times\", \"``asComponentTime(calendar=None)``\", \"``Array`` version of ``cdtime tocomp``. Returns a ``List`` of component times.\"\n", + " \"``List`` of relative times\", \"``asRelativeTime()``\", \"``Array`` version of ``cdtime torel``. Returns a ``List`` of relative times.\"\n", + " \"``None``\", \"``designateCircular(modulo, persistent=0)``\", \"Designate the axis to be circular. \n", + " * ``modulo`` is the modulus value.\n", + " * Any given axis value ``x`` is treated as equivalent to ``x + modulus``.\n", + " * If ``persistent`` is ``True``, the external file or dataset (if any) is modified. \n", + " * By default, the designation is temporary.\"\n", + " \"``Integer``\", \"``isCircular()``\", \"Returns ``True`` if the axis has circular topology. An axis is defined as circular if:\n", + "\n", + " * ``axis.topology == 'circular'``, or\n", + " * ``axis.topology`` is undefined, and the axis is a longitude. \n", + " * The default cycle for circular axes is 360.0\"\n", + " \"``Integer``\", \"``isLinear()``\", \"Returns ``True`` if the axis has a linear representation.\"\n", + " \"``Tuple``\", \"``mapInterval(interval)``\", \"Same as ``mapIntervalExt``, but returns only the tuple ``(i,j)``, and ``wraparound`` is restricted to one cycle.\"\n", + " \"``(i,j,k)``\", \"``mapIntervalExt(interval)``\", \"Map a coordinate interval to an index ``interval``. ``interval`` is a tuple having one of the forms:\n", + "\n", + " * ``(x,y)``\n", + " * ``(x,y,indicator)``\n", + " * ``(x,y,indicator,cycle)``\n", + " * ``None or ':'``\n", + " * where ``x`` and ``y`` are coordinates indicating the interval ``[x,y]``, and:\n", + " * ``indicator`` is a two or three-character string, where the first character is ``'c'`` if the interval is closed on the left, ``'o'`` if open, and the second character has the same meaning for the right-hand point. If present, the third character specifies how the interval should be intersected with the axi\n", + " * ``'n'`` - select node values which are contained in the interva\n", + " * ``'b'`` -select axis elements for which the corresponding cell boundary intersects the interval\n", + " * ``'e'`` - same as n, but include an extra node on either sid\n", + " * ``'s'`` - select axis elements for which the cell boundary is a subset of the interval\n", + " * The default indicator is ‘ccn’, that is, the interval is closed, and nodes in the interval are selected.\n", + " * If ``cycle`` is specified, the axis is treated as circular with the given cycle value. By default, if ``axis.isCircular()`` is true, the axis is treated as circular with a default modulus of ``360.0``.\n", + " * An interval of ``None`` or ``':'`` returns the full index interval of the axis.\n", + " * The method returns the corresponding index interval as a 3tuple ``(i,j,k)``, where ``k`` is the integer stride, and ``[i.j)`` is the half-open index interval ``i <= k < j`` ``(i >= k > j if k < 0)``, or ``none`` if the intersection is empty.\n", + " * for an axis which is circular (``axis.topology == 'circular'``), ``[i,j)`` is interpreted as follows, where ``n = len(axis)``\n", + " * if ``0 <= i < n`` and ``0 <= j <= n``, the interval does not wrap around the axis endpoint.\n", + " * otherwise the interval wraps around the axis endpoint.\n", + " * see also: ``mapinterval``, ``variable.subregion()``\"\n", + " \"``transientaxis``\", \"``subaxis(i,j,k=1)``\", \"create an axis associated with the integer range ``[i:j:k]``.\n", + " * the stride ``k`` can be positive or negative. \n", + " * wraparound is supported for longitude dimensions or those with a modulus attribute.\" \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CoordinateAxis Slice Operators\n", + "\n", + " \"``[i]``\", \"the ``ith`` element, starting with index ``0``\"\n", + " \"``[i:j]``\", \"the ``ith`` element through, but not including, element ``j``\"\n", + " \"``[i:]``\", \"the ``ith`` element through and including the end\"\n", + " \"``[:j]``\", \"the beginning element through, but not including, element ``j``\"\n", + " \"``[:]``\", \"the entire array\"\n", + " \"``[i:j:k]``\", \"every ``kth`` element, starting at ``i``, through but not including ``j``\"\n", + " \"``[-i]``\", \"the ``ith`` element from the end. ``-1`` is the last element.\n", + "\n", + " **Example:** a longitude axis has value\n", + "\n", + " * ``[0.0, 2.0, ..., 358.0]``\n", + " * of length ``180``\n", + " * map the coordinate interval: \n", + " * ``-5.0 <= x < 5.0`` to index interval(s), with wraparound. the result index interval \n", + " * ``-2 <= n < 3`` wraps around, since \n", + " * ``-2 < 0``, and has a stride of ``1`` \n", + " * this is equivalent to the two contiguous index intervals \n", + " * ``2 <= n < 0`` and ``0 <= n < 3``\"\n", + " \n", + "Example 1" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'axis' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0maxis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misCircular\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmapIntervalExt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m5.0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m5.0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'co'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'axis' is not defined" + ] + } + ], + "source": [ + "axis.isCircular()\n", + "1\n", + "axis.mapIntervalExt((-5.0,5.0,'co'))\n", + "(-2,3,1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CdmsFile\n", + "\n", + "A ``CdmsFile`` is a physical file, accessible via the ``cdunif``\n", + "interface. netCDF files are accessible in read-write mode. All other\n", + "formats (DRS, HDF, GrADS/GRIB, POP, QL) are accessible read-only.\n", + "\n", + "As of CDMS V3, the legacy cuDataset interface is also supported by\n", + "Cdms-Files. See “cu Module”." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CdmsFile Internal Attributes\n", + "\n", + " \"``Dictionary``\", \"``attributes``\", \"Global, external file attributes\"\n", + " \"``Dictionary``\", \"``axes``\", \"Axis objects contained in the file.\"\n", + " \"``Dictionary``\", \"``grids``\", \"Grids contained in the file.\"\n", + " \"``String``\", \"``id``\", \"File pathname.\"\n", + " \"``Dictionary``\", \"``variables``\", \"Variables contained in the file.\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CdmsFile Constructors\n", + "\n", + " \"``fileobj = cdms.open(path, mode)``\", \"Open the file specified by path returning a CdmsFile object. \n", + " * ``path`` is the file pathname, a string. \n", + " * ``mode`` is the open mode indicator, as listed in `Open Modes <#id3>`_.\" \n", + " \"``fileobj = cdms.createDataset(path)``\", \"Create the file specified by path, a string.\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CdmsFile Methods Object Name Transient Variable\n", + "\n", + "\n", + " \"``Transient-Variable``\", \"``fileobj(varname, selector)``\", \"Calling a ``CdmsFile`` object as a function reads the region of data specified by the Selectors. The result is a transient variable, unless ``raw = 1`` is specified. See `Selectors <#id14>`_ .\n", + " \n", + " **Example:** The following reads data for variable 'prc', year 1980:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'cdms' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'test.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'prc'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtime\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'1980-1'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'1981-1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'cdms' is not defined" + ] + } + ], + "source": [ + "f = cdms.open('test.nc')\n", + "x = f('prc', time=('1980-1','1981-1'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \"Variable, Axis, or Grid\", \"fileobj['id']\", \"Get the persistent variable, axis or grid object having the string identifier. This does not read the data for a variable.\n", + "\n", + "**Example:** The following gets the persistent variable" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m ``v``, equivalent to\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "``v``, equivalent to\n", + "``v = f.variables['prc']``.\n", + "f = cdms.open('sample.nc')\n", + "v = f['prc']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Example: The following gets the axis named time, equivalent to" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m ``t = f.axes['time']``.\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "``t = f.axes['time']``.\n", + "``t = f['time']``" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "None \tclose() \tClose the file." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CdmsFile Methods Copy Axis, Grid\n", + "\n", + " \"``Axis``\", \"``copyAxis(axis, newname=None)``\", \"Copy ``axis`` values and attributes to a new axis in the file. \n", + " * The returned object is persistent: it can be used to write axis data to or read axis data from the file.\n", + " * If an axis already exists in the file, having the same name and coordinate values, it is returned. It is an error if an axis of the same name exists, but with different coordinate values. \n", + " * ``axis`` is the axis object to be copied. \n", + " * ``newname``, if specified, is the string identifier of the new axis object. If not specified, the identifier of the input axis is used.\"\n", + " \"``Grid``\", \"``copyGrid(grid, newname=None)``\", \"Copy grid values and attributes to a new grid in the file. \n", + " * The returned grid is persistent. \n", + " * If a grid already exists in the file, having the same name and axes, it is returned. An error is raised if a grid of the same name exists, having different axes. \n", + " * ``grid`` is the grid object to be copied.\n", + " * ``newname``, if specified is the string identifier of the new grid object. If unspecified, the identifier of the input grid is used.\"\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CdmsFile Methods Create Axis, RectGrid and Variable\n", + "\n", + " \"``Axis``\", \"``createAxis(id,ar, unlimited=0)``\", \"Create a new ``Axis``. \n", + " * This is a persistent object which can be used to read or write axis data to the file.\n", + " * ``id`` is an alphanumeric string identifier, containing no blanks. \n", + " * ``ar`` is the one-dimensional axis array. \n", + " * Set ``unlimited`` to ``cdms.Unlimited`` to indicate that the axis is extensible.\"\n", + " \"``RectGrid``\", \"``createRectGrid(id,lat, lon,order,type='generic', mask=None)``\", \"Create a ``RectGrid`` in the file. \n", + " * This is not a persistent object: the order, type, and mask are not written to the file. However, the grid may be used for regridding operations. \n", + " * ``lat`` is a latitude axis in the file. \n", + " * ``lon`` is a longitude axis in the file. \n", + " * ``order`` is a string with value ``'yx'`` (the latitude) or ``'xy'`` (the first grid dimension is longitude). \n", + " * ``type`` is one of ``'gaussian'``,\\ ``'uniform'``,\\ ``'equalarea'`` , or ``'generic'``.\n", + " * If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid.\"\n", + " \"``Variable``\", \"``createVariable(Stringid,String datatype,Listaxes,fill_value=None)``\", \"Create a new Variable. \n", + " * This is a persistent object which can be used to read or write variable data to the file. \n", + " * ``id`` is a String name which is unique with respect to all other objects in the file.\n", + " * ``datatype`` is an ``MV2`` typecode, e.g., ``MV2.Float``, ``MV2.Int``.\n", + " * ``axes`` is a list of Axis and/or Grid objects. \n", + " * ``fill_value`` is the missing value (optional).\"\n", + " \"``Variable``\", \"``createVariableCopy(var, newname=None)``\", \"Create a new ``Variable``, with the same name, axes, and attributes as the input variable.\n", + " * An error is raised if a variable of the same name exists in the file. \n", + " * ``var`` is the ``Variable`` to be copied. \n", + " * ``newname``, if specified is the name of the new variable. If unspecified, the returned variable has the same name as ``var``.\n", + "\n", + " **Note:** Unlike copyAxis, the actual data is not copied to the new variable.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CdmsFile Methods Read CurveGrid, Generic-Grid\n", + "\n", + " \"``CurveGrid`` or ``Generic-Grid``\", \"``readScripGrid (self,whichGrid='destination', check-Grid=1)``\", \"Read a curvilinear or generic grid from a SCRIP netCDF file. \n", + " * The file can be a SCRIP grid file or remapping file. \n", + " * If a mapping file, ``whichGrid`` chooses the grid to read, either ``'source'`` or ``'destination'``.\n", + " * If ``checkGrid`` is ``1`` (default), the grid cells are checked for convexity, and 'repaired' if necessary. Grid cells may appear to be nonconvex if they cross a ``0 / 2pi`` boundary. \n", + " * The repair consists of shifting the cell vertices to the same side modulo 360 degrees.\"\n", + " \"``None``\", \"``sync()``\", \"Writes any pending changes to the file.\"\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CdmsFile Methods Write Variable\n", + "\n", + "\n", + " \"``Variable``\", \"``write(var,attributes=None,axes=None, extbounds=None,id=None,extend=None, fill_value=None, index=None, typecode=None)``\",\"Write a variable or array to the file.\n", + " * The return value is the associated file variable.\n", + " * If the variable does not exist in the file, it is first defined and all attributes written, then the data is written. By default, the time dimension of the variable is defined as the unlimited dimension of the file.\n", + " * If the data is already defined, then data is extended or overwritten depending on the value of keywords ``extend`` and ``index``, and the unlimited dimension values associated with ``var``.\n", + "\n", + " * ``var`` is a Variable, masked array, or Numpy array.\n", + " * ``attributes`` is the attribute dictionary for the variable. The default is ``var.attributes``.\n", + " * ``axes`` is the list of file axes comprising the domain of the variable. The default is to copy ``var.getAxisList()``.\n", + " * ``extbounds`` is the unlimited dimension bounds. Defaults to ``var.getAxis(0).getBounds()``.\n", + " * ``id`` is the variable name in the file. Default is ``var.id``.\n", + " * ``extend = 1`` causes the first dimension to be unlimited: iteratively writeable. \n", + " * The default is ``None``, in which case the first dimension is extensible if it is ``time.Set`` to ``0`` to turn off this behaviour.\n", + " * ``fill_value`` is the missing value flag.\n", + " * ``index`` is the extended dimension index to write to. The default index is determined by lookup relative to the existing extended dimension.\n", + " **Note:** data can also be written by setting a slice of a file variable, and attributes can be written by setting an attribute of a file variable.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CDMS Datatypes\n", + "\n", + " \"``CdChar``\", \"character\"\n", + " \"``CdDouble``\", \"double-precision floating-point\"\n", + " \"``CdFloat``\", \"floating-point\"\n", + " \"``CdInt``\", \"integer\"\n", + " \"``CdLong``\", \"long integer\"\n", + " \"``CdShort``\", \"short integer\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Database\n", + "\n", + "A Database is a collection of datasets and other CDMS objects. It\n", + "consists of a hierarchical collection of objects, with the database\n", + "being at the root, or top of the hierarchy. A database is used to:\n", + "\n", + "- search for metadata\n", + "- access data\n", + "- provide authentication and access control for data and metadata\n", + "\n", + "The figure below illustrates several important points:\n", + "\n", + "- Each object in the database has a relative name of the form tag=id.\n", + " The id of an object is unique with respect to all objects contained\n", + " in the parent.\n", + "\n", + "- The name of the object consists of its relative name followed by the\n", + " relative name(s) of its antecedent objects, up to and including the\n", + " database name. In the figure below, one of the variables has name\n", + " ``\"variable=ua,dataset=ncep_reanalysis_mo,database=CDMS\"``.\n", + "\n", + "- Subordinate objects are thought of as being contained in the parent.\n", + " In this example, the database ‘CDMS’ contains two datasets, each of\n", + " which contain several variables." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Overview\n", + "\n", + "To access a database:\n", + "\n", + "#. Open a connection. The connect method opens a database connection. Connect takes a database URI and returns a database object:\n", + " ``db=cdms.connect(\"ldap://dbhost.llnl.gov/database=CDMS,ou=PCMDI,o=LLNL,c=US\")``\n", + "\n", + "#. Search the database, locating one or more datasets, variables, and/or\n", + " other objects.\n", + "\n", + " The database searchFilter method searches the database. A single\n", + " database connection may be used for an arbitrary number of searches.\n", + "\n", + " **Example**: Find all observed datasets\n", + "\n", + " ``result = db.searchFilter(category=\"observed\",tag=\"dataset\")``\n", + "\n", + " Searches can be restricted to a subhierarchy of the database.\n", + "\n", + " **Example:** Search just the dataset ``'ncep_reanalysis_mo'``:\n", + "\n", + " ``result = db.searchFilter(relbase=\"dataset=ncep_reanalysis\")``\n", + "\n", + "#. Refine the search results if necessary. The result of a search can be\n", + " narrowed with the searchPredicate method.\n", + "#. Process the results. A search result consists of a sequence of\n", + " entries. Each entry has a name, the name of the CDMS object, and an\n", + " attribute dictionary, consisting of the attributes located by the\n", + " search:\n", + "\n", + " `` for entry in result: print entry.name, entry.attributes``\n", + "\n", + "#. Access the data. The CDMS object associated with an entry is obtained\n", + " from the getObject method:\n", + "\n", + " ``obj = entry.getObject()``\n", + "\n", + " If the id of a dataset is known, the dataset can be opened directly\n", + " with the open method:\n", + "\n", + " ``dset = db.open(\"ncep_reanalysis_mo\")``\n", + "\n", + "#. Close the database connection:\n", + "\n", + " ``db.close()``\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Database Internal Attributes\n", + "\n", + "\n", + " \"``Dictionary``\", \"``attributes``\", \"Database attribute dictionary\"\n", + " \"``LDAP``\", \"``db``\", \"(LDAP only) LDAP database object\"\n", + " \"``String``\", \"``netloc``\", \"Hostname, for server-based databases\"\n", + " \"``String``\", \"``path``\", \"path name\"\n", + " \"``String``\", \"``uri``\", \"Uniform Resource Identifier\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Database Constructors\n", + "\n", + " \"``db = cdms.connect(uri=None, user='', password='')``\", \"Connect to the database. ``uri`` is the Universal Resource Indentifier of the database. The form of the URI depends on the implementation of the database.\n", + " * For a Lightweight Directory Access Protocol (LDAP) database, the form is: ``ldap://host[:port]/dbname``.\n", + " * For example, if the database is located on host dbhost.llnl.gov, and is named ``'database=CDMS,ou=PCMDI,o=LLNL,c=US'``, the URI is: ``ldap://dbhost.llnl.gov/database=CDMS,ou=PCMDI,o=LLNL,c=US``. \n", + " * If unspecified, the URI defaults to the value of environment variable CDMSROOT. ``user`` is the user ID. \n", + " * If unspecified, an anonymous connection is made. ``password`` is the user password. A password is not required for an anonymous connection\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Database Methods\n", + "\n", + " \"None\", \"``close()``\", \"Close a database\"\n", + " \"List\", \"``listDatasets()``\", \"Return a list of the dataset IDs in this database. A dataset ID can be passed to the ``open`` command.\"\n", + " \"Dataset\", \"``open(dsetid, mode='r')``\", \"Open a dataset.\n", + "\n", + " * ``dsetid``, is the string dataset identifier\n", + "\n", + " * ``mode``, is the open mode, 'r' - read-only, 'r+' - read-write, 'w' - create.\n", + "\n", + " * ``openDataset``, is a synonym for ``open``.\"\n", + " \"SearchResult\",\"``searchFilter(filter=None, tag=None, relbase=None, scope=Subtree, attnames=None, timeout=None)``\",\"Search a CDMS database.\n", + " * ``filter`` is the string search filter. Simple filters have the form 'tag = value'. Simple filters can be combined using logical operators '&', '\\|', '!' in prefix notation. \n", + " **Example:**\n", + "\n", + " * The filter ``'(&(objec)(id=cli))'`` finds all variables named 'cli'.\n", + " * A formal definition of search filters is provided in the following section.\n", + " * ``tag`` restricts the search to objects with that tag ('dataset' | 'variable' | 'database' | 'axis' | 'grid').\n", + " * ``relbase`` is the relative name of the base object of the search. The search is restricted to the base object and all objects below it in the hierarchy.\n", + "\n", + " **Example:**\n", + "\n", + " * To search only dataset 'ncep_reanalysis_mo', specify:\n", + " * ``relbase='dataset=ncep_reanalysis_mo'``\n", + " * To search only variable 'ua' in 'ncep_reanalysis_mo', use:\n", + " * ``relbase='variable=ua, dataset=ncep_reanalysis_mo'``\n", + " If no base is specified, the entire database is searched. See the ``scope`` argument also.\n", + "\n", + " * ``scope`` is the search scope (**Subtree** | **Onelevel** | **Base**).\n", + " * **Subtree** searches the base object and its descendants.\n", + " * **Onelevel** searches the base object and its immediate descendants.\n", + " * **Base**\\ searches the base object alone.\n", + " * The default is **Subtree**.\n", + " * ``attnames``: list of attribute names. Restricts the attributes returned. If ``None``, all attributes are returned. Attributes 'id' and 'objectclass' are always included in the list.\n", + " * ``timeout``: integer number of seconds before timeout. The default is no timeout.\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Searching a Database\n", + "Type \tName \tSummary\n", + "Dictionary \tattributes \tDatabase attribute dictionary\n", + "LDAP \tdb \t(LDAP only) LDAP database object\n", + "String \tnetloc \tHostname, for server-based databases\n", + "String \tpath \tpath name\n", + "String \turi \tUniform Resource Identifier" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m (id = ncep*)\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "(id = ncep*)\n", + "(project = AMIP2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note** Simple filters can be combined with the logical operators '&', '|', '!'. For example, \n", + "\n", + " mode, is the open mode, ‘r’ - read-only, ‘r+’ - read-write, ‘w’ - create.\n", + "\n", + "(&(id = bmrc*)(project = AMIP2))\n", + "\n", + " To search only dataset ‘ncep_reanalysis_mo’, specify:\n", + " relbase='dataset=ncep_reanalysis_mo'\n", + " To search only variable ‘ua’ in ‘ncep_reanalysis_mo’, use:\n", + " relbase='variable=ua, dataset=ncep_reanalysis_mo'\n", + "\n", + " If no base is specified, the entire database is searched. See the scope argument also.\n", + "\n", + " scope is the search scope (Subtree | Onelevel | Base).\n", + " Subtree searches the base object and its descendants.\n", + " Onelevel searches the base object and its immediate descendants.\n", + " Basesearches the base object alone.\n", + " The default is Subtree.\n", + " attnames: list of attribute names. Restricts the attributes returned. If None, all attributes are returned. Attributes ‘id’ and ‘objectclass’ are always included in the list.\n", + " timeout: integer number of seconds before timeout. The default is no timeout.”\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m (&(id = bmrc*)(project = AMIP2))\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "(&(id = bmrc*)(project = AMIP2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Matches all objects with id starting with bmrc, and a project attribute\n", + "with value ‘AMIP2’.\n", + "\n", + "Formally, search filters are strings defined as follows:\n", + "Attribute names are defined in the chapter on “Climate Data Markup Language (CDML)”. In addition, some special attributes are defined for convenience:\n", + "\n", + " category is either “experimental” or “observed”\n", + " parentid is the ID of the parent dataset\n", + " project is a project identifier, e.g., “AMIP2”\n", + " objectclass is the list of tags associated with the object.\n", + "\n", + "The set of objects searched is called the search scope. The top object in the hierarchy is the base object. By default, all objects in the database are searched, that is, the database is the base object. If the database is very large, this may result in an unnecessarily slow or inefficient search. To remedy this the search scope can be limited in several ways:\n", + "\n", + " The base object can be changed.\n", + " The scope can be limited to the base object and one level below, or to just the base object.\n", + " The search can be restricted to objects of a given class (dataset, variable, etc.)\n", + " The search can be restricted to return only a subset of the object attributes\n", + " The search can be restricted to the result of a previous search.\n", + " A search result is accessed sequentially within a for loop:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'db' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msearchFilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'(&(category=obs*)(id=ncep*))'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mentry\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mentry\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'db' is not defined" + ] + } + ], + "source": [ + "result = db.searchFilter('(&(category=obs*)(id=ncep*))')\n", + "for entry in result:\n", + " print entry.name" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Search results can be narrowed using searchPredicate. In the following example, the result of one search is itself searched for all variables defined on a 94x192 grid:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 9)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m9\u001b[0m\n\u001b[0;31m for entry in result2: print entry.name\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "result = db.searchFilter('parentid=ncep*',tag=\"variable\")\n", + "len(result)\n", + "\n", + "result2 = result.searchPredicate(lambda x:\n", + "\n", + "\n", + "len(result2)\n", + "\n", + "for entry in result2: print entry.name" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "2.7.6. Table SearchResult Methods\n", + "Type \tMethod \tDefinition\n", + "ResultEntry \t[i] \tReturn the i-th search result. Results can also be returned in a for loop: for entry in db.searchResult(tag='dataset'):\n", + "Integer \tlen() \tNumber of entries in the result.\n", + "SearchResult \tsearchPredicate(predicate, tag=None) \t\n", + "\n", + "Refine a search result, with a predicate search.\n", + "\n", + " predicate is a function which takes a single CDMS object and returns true (1) if the object satisfies the predicate, 0 if not.\n", + " tag restricts the search to objects of the class denoted by the tag.\n", + "\n", + " Note:: In the current implementation, searchPredicate is much less efficient than searchFilter. For best performance, use searchFilter to narrow the scope of the search, then use searchPredicate for more general searches.\n", + "\n", + "A search result is a sequence of result entries. Each entry has a string name, the name of the object in the database hierarchy, and an attribute dictionary. An entry corresponds to an object found by the search, but differs from the object, in that only the attributes requested are associated with the entry. In general, there will be much more information defined for the associated CDMS object, which is retrieved with the getObject method.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.7.7. Table ResultEntry Attributes\n", + "Type \tMethod \tDefinition\n", + "String \tname \tThe name of this entry in the database.\n", + "Dictionary \tattributes \tThe attributes returned from the search. attributes[key] is a list of all string values associated with the key" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.7.8. Table ResultEntry Methods\n", + "Type \tMethod \tDefinition\n", + "CdmsObj \tgetObject() \t\n", + "\n", + "Return the CDMS object associated with this entry.\n", + " Note: For many search applications it is unnecessary to access the associated CDMS object. For best performance this function should be used only when necessary, for example, to retrieve data associated with a variable.\n", + "\n", + "CdmsObj \tgetObject() \t\n", + "\n", + "Return the CDMS object associated with this entry.\n", + " Note: For many search applications it is unnecessary to access the associated CDMS object. For best performance this function should be used only when necessary, for example, to retrieve data associated with a variable. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.7.9. Accessing data\n", + "\n", + "To access data via CDMS:\n", + "\n", + " Locate the dataset ID. This may involve searching the metadata.\n", + " Open the dataset, using the open method.\n", + " Reference the portion of the variable to be read.\n", + "\n", + "In the next example, a portion of variable ‘ua’ is read from dataset ‘ncep_reanalysis_mo’:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'db' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdset\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'ncep_reanalysis_mo'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mua\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdset\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'ua'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mua\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'db' is not defined" + ] + } + ], + "source": [ + "dset = db.open('ncep_reanalysis_mo')\n", + "ua = dset.variables['ua']\n", + "data = ua[0,0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.7.10. Examples of Database Searches\n", + "\n", + "In the following examples, db is the database opened with:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'cdms' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconnect\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'cdms' is not defined" + ] + } + ], + "source": [ + "db = cdms.connect()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This defaults to the database defined in environment variable CDMSROOT.\n", + "\n", + "Example: List all variables in dataset ‘ncep_reanalysis_mo’:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'db' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mentry\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msearchFilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilter\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"parentid=ncep_reanalysis_mo\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtag\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"variable\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mentry\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'db' is not defined" + ] + } + ], + "source": [ + "for entry in db.searchFilter(filter = \"parentid=ncep_reanalysis_mo\", tag = \"variable\"):\n", + " print entry.name" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Example: Find all axes with bounds defined:\n", + "\n", + "Example: Locate all GDT datasets:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'db' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mentry\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msearchFilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilter\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"Conventions=GDT*\"\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mtag\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"dataset\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mentry\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'db' is not defined" + ] + } + ], + "source": [ + "for entry in db.searchFilter(filter=\"Conventions=GDT*\",tag=\"dataset\"):\n", + " print entry.name" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Example: Find all variables with missing time values, in observed datasets:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'db' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mentry\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msearchFilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilter\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"(&(project=CMIP2)(id=hfss))\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtag\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"variable\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mentry\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetObject\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mid\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'db' is not defined" + ] + } + ], + "source": [ + "for entry in db.searchFilter(filter = \"(&(project=CMIP2)(id=hfss))\", tag = \"variable\"):\n", + " print entry.getObject().parent.id" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Example: Find all observed variables on 73x144 grids:\n", + "\n", + "Example: Find all CMIP2 datasets having a variable with id “hfss”:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'db' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mprint\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msearchFilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtag\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"database\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"database\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msearchFilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtag\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"dataset\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"datasets\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msearchFilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtag\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"variable\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"variables\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msearchFilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtag\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"axis\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"axes\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'db' is not defined" + ] + } + ], + "source": [ + "print len(db.searchFilter(tag=\"database\")),\"database\"\n", + "print len(db.searchFilter(tag=\"dataset\")),\"datasets\"\n", + "print len(db.searchFilter(tag=\"variable\")),\"variables\"\n", + "print len(db.searchFilter(tag=\"axis\")),\"axes\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Example: Find all observed variables on 73x144 grids:\n", + "\"Dictionary\", \"``attributes``\", \"Dataset external attributes.\"\n", + "\"Dictionary\", \"``axes``\", \"Axes contained in the dataset.\"\n", + "\"String\", \"``datapath``\", \"Path of data files, relative to the parent database. If no parent, the datapath is absolute.\"\n", + "\"Dictionary\", \"``grids``\", \"Grids contained in the dataset.\"\n", + "\"String\", \"``mode``\", \"Open mode.\"\n", + "\"Database\", \"``parent``\", \"Database which contains this dataset. If the dataset is not part of a database, the value is ``None``.\"\n", + "\"String\", \"``uri``\", \"Uniform Resource Identifier of this dataset.\"\n", + "\"Dictionary\", \"``variables``\", \"Variables contained in the dataset.\"\n", + "\"Dictionary\", \"``xlinks``\", \"External links contained in the dataset.\"\n", + "\n", + "Example: Find all observed variables with more than 1000 timepoints:\n", + "\n", + "\n", + "1 \"‘r’\", \"read-only\"\n", + "2 \"‘r+’\", \"read-write\"\n", + "3 \"‘a’\", \"read-write. Open the file if it exists, otherwise create a new file\"\n", + "4 \"‘w’\", \"Create a new file, read-write\"\n", + "Example: Find the total number of each type of object in the database:\n", + "\n", + " f = cdms.open(‘test. xml’)\n", + " x = f(‘prc’, time=(‘1980-1’,‘1981-1’))”\n", + "\n", + " “Variable, Axis, or Grid”, “datasetobj['id']”, “The square bracket operator applied to a dataset gets the persistent variable, axis or grid object having the string identifier. This does not read the data for a variable. Returns None if not found.\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "2.8. Dataset\n", + "\n", + "A Dataset is a virtual file. It consists of a metafile, in CDML/XML representation, and one or more data files.\n", + "\n", + "As of CDMS V3, the legacy cuDataset interface is supported by Datasets. See “cu Module”.\n", + "2.8.1. Table Dataset Internal Attributes\n", + "Type \tName \tDescription\n", + "Dictionary \tattributes \tDataset external attributes.\n", + "Dictionary \taxes \tAxes contained in the dataset.\n", + "String \tdatapath \tPath of data files, relative to the parent database. If no parent, the datapath is absolute.\n", + "Dictionary \tgrids \tGrids contained in the dataset.\n", + "String \tmode \tOpen mode.\n", + "Database \tparent \tDatabase which contains this dataset. If the dataset is not part of a database, the value is None.\n", + "String \turi \tUniform Resource Identifier of this dataset.\n", + "Dictionary \tvariables \tVariables contained in the dataset.\n", + "Dictionary \txlinks \tExternal links contained in the dataset.\n", + "2.8.2. Table Dataset Constructors\n", + "Constructor \tDescription\n", + "datasetobj = cdms.open(String uri, String mode='r') \tOpen the dataset specified by the Universal Resource Indicator, a CDML file. Returns a Dataset object. mode is one of the indicators listed in Open Modes . openDataset is a synonym for open\n", + "2.8.3. Table Open Modes\n", + "Mode \tDefinition\n", + "‘r’ \tread-only\n", + "‘r+’ \tread-write\n", + "‘a’ \tread-write. Open the file if it exists, otherwise create a new file\n", + "‘w’ \tCreate a new file, read-write\n", + "2.8.4. Table Dataset Methods\n", + "Type \tDefinition \tDescription\n", + "Transient-Variable \tdatasetobj(varname, selector) \t\n", + "\n", + "Calling a Dataset object as a function reads the region of data defined by the selector. The result is a transient variable, unless raw = 1 is specified. See ‘Selectors’.\n", + "\n", + " Example: The following reads data for variable ‘prc’, year 1980:\n", + "\n", + " f = cdms.open(‘test. xml’)\n", + " x = f(‘prc’, time=(‘1980-1’,‘1981-1’))\n", + "\n", + "Variable, Axis, or Grid \tdatasetobj['id'] \t\n", + "\n", + "The square bracket operator applied to a dataset gets the persistent variable, axis or grid object having the string identifier. This does not read the data for a variable. Returns None if not found.\n", + "\n", + " Example:\n", + "\n", + " f = cdms.open(‘sampl e.xml’)\n", + " v = f[‘prc’]\n", + " gets the persistent variable v, equivalent to v =f.variab les['prc'].\n", + "\n", + " Example:\n", + " t = f['time'] gets the axis named ‘time’, equivalent to t = f.axes['time']\n", + "\n", + "None \tclose() \tClose the dataset.\n", + "RectGrid \tcreateRectGrid(id, lat, lon,order, type='generic', mask=None) \t\n", + "\n", + "Create a RectGrid in the dataset. This is not a persistent object: the order, type, and mask are not written to the dataset. However, the grid may be used for regridding operations.\n", + "\n", + " lat is a latitude axis in the dataset.\n", + " lon is a longitude axis in the dataset.\n", + " order is a string with value ‘yx’ (the first grid dimension is latitude) or ‘xy’ (the first grid dimension is longitude).\n", + " type is one of ‘gaussian’,’uniform’,’eq ualarea’,or ‘generic’\n", + " If specified, mask is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid.\n", + "\n", + "Axis \tgetAxis(id) \t\n", + "\n", + "Get an axis object from the file or dataset.\n", + "\n", + " id is the string axis identifier.\n", + "\n", + "Grid \tgetGrid(id) \t\n", + "\n", + "Get a grid object from a file or dataset.\n", + "\n", + " id is the string grid identifier.\n", + "\n", + "List \tgetPaths() \tGet a sorted list of pathnames of datafiles which comprise the dataset. This does not include the XML metafile path, which is stored in the .uri attribute.\n", + "Variable \tgetVariable(id) \t\n", + "\n", + "Get a variable object from a file or dataset.\n", + "\n", + " id is the string variable identifier.\n", + "\n", + "CurveGrid or GenericGrid \treadScripGrid(self, whichGrid='destination', check-orGeneric-Grid=1) \t\n", + "\n", + "Read a curvilinear orgeneric grid from a SCRIP dataset. The dataset can be a SCRIP grid file or remappingfile.\n", + "\n", + " If a mapping file, whichGrid chooses the grid to read, either 'source' or 'destination'.\n", + " If checkGrid is 1 (default), the grid cells are checked for convexity, and ‘repaired’ if necessary. Grid cells may appear to be nonconvex if they cross a 0 / 2pi boundary. The repair consists of shifting the cell vertices to the same side modulo 360 degrees.\n", + "\n", + "None \tsync() \tWrite any pending changes to the dataset.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.9. MV Module\n", + "\n", + "The fundamental CDMS data object is the variable. A variable is comprised of:\n", + "\n", + " a masked data array, as defined in the NumPy MV2 module.\n", + " a domain: an ordered list of axes and/or grids.\n", + " an attribute dictionary.\n", + "\n", + "The MV module is a work-alike replacement for the MV2 module, that carries along the domain and attribute information where appropriate. MV provides the same set of functions as MV2. However, MV functions generate transient variables as results. Often this simplifies scripts that perform computation. MV2 is part of the Python Numpy package, documented at http://www.numpy.org.\n", + "\n", + "MV can be imported with the command:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "No module named MV", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mMV\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mImportError\u001b[0m: No module named MV" + ] + } + ], + "source": [ + "import MV" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The command" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "No module named MV", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mMV\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mImportError\u001b[0m: No module named MV" + ] + } + ], + "source": [ + "from MV import *" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "allows use of MV commands without any prefix.\n", + "\n", + "Table Variable Constructors in module MV, lists the constructors in MV. All functions return a transient variable. In most cases the keywords axes, attributes, and id are available. axes is a list of axis objects which specifies the domain of the variable. attributes is a dictionary. id is a special attribute string that serves as the identifier of the variable, and should not contain blanks or non-printing characters. It is used when the variable is plotted or written to a file. Since the id is just an attribute, it can also be set like any attribute:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'var' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mvar\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'temperature'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'var' is not defined" + ] + } + ], + "source": [ + "var.id = 'temperature'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For completeness MV provides access to all the MV2 functions. The functions not listed in the following tables are identical to the corresponding MV2 function: allclose, allequal, common_fill_value, compress, create_mask, dot, e, fill_value, filled, get_print_limit, getmask, getmaskarray, identity, indices, innerproduct, isMV2, isMaskedArray, is_mask, isarray, make_mask, make_mask_none, mask_or, masked, pi, put, putmask, rank, ravel, set_fill_value, set_print_limit, shape, size. See the documentation at http://numpy.sourceforge.net for a description of these functions." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "2.9.1. Table Variable Constructors in Module MV\n", + "Constructor \tDescription\n", + "arrayrange(start, stop=None, step=1, typecode=None, axis=None, attributes=None, id=None) \tJust like MV2.arange() except it returns a variable whose type can be specfied by the keyword argument typecode. The axis, attribute dictionary, and string identifier of the result variable may be specified. Synonym: arange\n", + "masked_array(a, mask=None, fill_value=None, axes=None, attributes=None, id=None) \tSame as MV2.masked_array but creates a variable instead. If no axes are specified, the result has default axes, otherwise axes is a list of axis objects matching a.shape.\n", + "masked_object(data,value, copy=1,savespace=0,axes=None, attributes=None, id=None) \tCreate variable masked where exactly data equal to value. Create the variable with the given list of axis objects, attribute dictionary, and string id.\n", + "masked_values(data,value, rtol=1e-05, atol=1e-08, copy=1, savespace=0, axes=None, attributes=None, id=None) \tConstructs a variable with the given list of axes and attribute dictionary, whose mask is set at those places where abs(data - value) > atol + rtol * abs(data). This is a careful way of saying that those elements of the data that have value = value (to within a tolerance) are to be treated as invalid. If data is not of a floating point type, calls masked_object instead.\n", + "ones(shape, typecode='l',savespace=0,axes=none, attributes=none, id=none) \treturn an array of all ones of the given length or shape.\n", + "reshape(a,newshape, axes=none, attributes=none, id=none) \tcopy of a with a new shape.\n", + "resize(a,newshape, axes=none, attributes=none, id=none) \treturn a new array with the specified shape. the original arrays total size can be any size.\n", + "zeros(shape,typecode='l',savespace=0, axes=none, attributes=none, id=none) \tan array of all zeros of the given length or shape\n", + "\n", + "The following table describes the MV non-constructor functions. with the exception of argsort, all functions return a transient variable.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.9.2. Table MV Functions\n", + "Function \tDescription\n", + "argsort(x, axis=-1, fill_value=None) \tReturn a Numpy array of indices for sorting along a given axis.\n", + "asarray(data, typecode=None) \t\n", + "\n", + "Same as cdms.createVariable(data, typecode, copy=0).\n", + "\n", + " This is a short way of ensuring that something is an instance of a variable of a given type before proceeding, as in data = asarray(data).\n", + " Also see the variable astype() function.\n", + "\n", + "average(a, axis=0, weights=None) \t\n", + "\n", + "Computes the average value of the non-masked elements of x along the selected axis.\n", + "\n", + " If weights is given, it must match the size and shape of x, and the value returned is: sum(a*weights)/sum(weights)\n", + " In computing these sums, elements that correspond to those that are masked in x or weights are ignored.\n", + "\n", + "choose(condition, t) \t\n", + "\n", + "Has a result shaped like array condition.\n", + "\n", + " t must be a tuple of two arrays t1 and t2.\n", + " Each element of the result is the corresponding element of t1where condition is true, and the corresponding element of t2 where condition is false.\n", + " The result is masked where condition is masked or where the selected element is masked.\n", + "\n", + "concatenate(arrays, axis=0, axisid=None, axisattributes=None) \tConcatenate the arrays along the given axis. Give the extended axis the id and attributes provided - by default, those of the first array.\n", + "count(a, axis=None) \tCount of the non-masked elements in a, or along a certain axis.\n", + "isMaskedVariable(x) \tReturn true if x is an instance of a variable.\n", + "masked_equal(x, value) \tx masked where x equals the scalar value. For floating point values consider masked_values(x, value) instead.\n", + "masked_greater(x, value) \tx masked where x > value\n", + "masked_greater_equal(x, value) \tx masked where x >= value\n", + "masked_less(x, value) \tx masked where x < value\n", + "masked_less_equal(x, value) \tx masked where x ≤ value\n", + "masked_not_equal(x, value) \tx masked where x != value\n", + "masked_outside(x, v1, v2) \tx with mask of all values of x that are outside [v1,v2]\n", + "masked_where(condition, x, copy=1) \t\n", + "\n", + "Return x as a variable masked where condition is true.\n", + "\n", + " Also masked where x or condition masked.\n", + " condition is a masked array having the same shape as x.\n", + "\n", + "maximum(a, b=None) \tCompute the maximum valid values of x if y is None; with two arguments, return the element-wise larger of valid values, and mask the result where either x or y is masked.\n", + "minimum(a, b=None) \tCompute the minimum valid values of x if y is None; with two arguments, return the element-wise smaller of valid values, and mask the result where either x or y is masked.\n", + "outerproduct(a, b) \tReturn a variable such that result[i, j] = a[i] * b[j]. The result will be masked where a[i] or b[j] is masked.\n", + "power(a, b) \ta**b\n", + "product(a, axis=0, fill_value=1) \tProduct of elements along axis using fill_value for missing elements.\n", + "repeat(ar, repeats, axis=0) \tReturn ar repeated repeats times along axis. repeats is a sequence of length ar.shape[axis] telling how many times to repeat each element.\n", + "set_default_fill_value(value_type, value) \t\n", + "\n", + "Set the default fill value for value_type to value.\n", + "\n", + " value_type is a string: ‘real’,’complex’,’character’,’integer’,or ‘object’.\n", + " value should be a scalar or single-element array.\n", + "\n", + "sort(ar, axis=-1) \tSort array ar elementwise along the specified axis. The corresponding axis in the result has dummy values.\n", + "sum(a, axis=0, fill_value=0) \tSum of elements along a certain axis using fill_value for missing.\n", + "take(a, indices, axis=0) \tReturn a selection of items from a. See the documentation in the Numpy manual.\n", + "transpose(ar, axes=None) \tPerform a reordering of the axes of array ar depending on the tuple of indices axes; the default is to reverse the order of the axes.\n", + "where(condition, x, y) \tx where condition is true, y otherwise" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.10. HorizontalGrid\n", + "\n", + "A HorizontalGrid represents a latitude-longitude coordinate system. In addition, it optionally describes how lat-lon space is partitioned into cells. Specifically, a HorizontalGrid:\n", + "\n", + " consists of a latitude and longitude coordinate axis.\n", + " may have associated boundary arrays describing the grid cell boundaries,\n", + " may optionally have an associated logical mask.\n", + "\n", + "CDMS supports several types of HorizontalGrids:\n", + "\n", + "2.10.1. Table Grids\n", + "Grid Type \tDefinition\n", + "RectGrid \tAssociated latitude an longitude are 1-D axes, with strictly monotonic values.\n", + "GenericGrid \tLatitude and longitude are 1-D auxiliary coordinate axis (AuxAxis1D)\n", + "2.10.2. Table HorizontalGrid Internal Attribute\n", + "Type \tName \tDefinition\n", + "Dictionary \tattributes \tExternal attribute dictionary.\n", + "String \tid \tThe grid identifier.\n", + "Dataset or CdmsFile \tparent \tThe dataset or file which contains the grid.\n", + "Tuple \tshape \tThe shape of the grid, a 2-tuple\n", + "2.10.3. Table RectGrid Constructors\n", + "Constructor \tDescription\n", + "cdms.createRectGrid(lat, lon, order, type='generic', mask=None) \tCreate a grid not associated with a file or dataset. See A First Example\n", + "CdmsFile.createRectGrid(id, lat, lon, order, type='generic', mask=None) \tCreate a grid associated with a file. See CdmsFile Constructors\n", + "Dataset.createRectGrid(id, lat, lon, order, type='generic', mask=None) \tCreate a grid associated with a dataset. See Dataset Constructors\n", + "cdms.createGaussianGrid(nlats, xorigin=0.0, order='yx') \tSee A First Example\n", + "cdms.createGenericGrid(latArray, lonArray, latBounds=None, lonBounds=None, order='yx', mask=None) \tSee A First Example\n", + "cdms.createGlobalMeanGrid(grid) \tSee A First Example\n", + "cdms.createRectGrid(lat, lon, order, type='generic', mask=None) \tSee A First Example\n", + "cdms.createUniformGrid(startLat, nlat, deltaLat, startLon, nlon, deltaLon, order='yx', mask=None) \tSee A First Example\n", + "cdms.createZonalGrid(grid) \tSee A First Example\n", + "2.10.4. Table HorizontalGrid Methods\n", + "Type \tMethod \tDescription\n", + "Horizontal-Grid \tclone() \tReturn a transient copy of the grid.\n", + "Axis \tgetAxis(Integer n) \tGet the n-th axis.n is either 0 or 1.\n", + "Tuple \tgetBounds() \t\n", + "\n", + "Get the grid boundary arrays.\n", + "\n", + " Returns a tuple (latitudeArray, longitudeArray), where latitudeArray is a Numpy array of latitude bounds, and similarly for longitudeArray.The shape of latitudeArray and longitudeArray depend on the type of grid:\n", + "\n", + " for rectangular grids with shape (nlat, nlon), the boundary arrays have shape (nlat,2) and (nlon,2).\n", + " for curvilinear grids with shape (nx, ny), the boundary arrays each have shape (nx, ny, 4).\n", + " for generic grids with shape (ncell,), the boundary arrays each have shape (ncell, nvert) where nvert is the maximum number of vertices per cell.\n", + " for rectilinear grids: If no boundary arrays are explicitly defined (in the file or dataset), the result depends on the auto- Bounds mode (see cdms.setAutoBounds) and the grid classification mode (see cdms.setClassifyGrids).\n", + "\n", + " By default, autoBounds mode is enabled, in which case the boundary arrays are generated based on the type of grid.\n", + "\n", + " If disabled, the return value is (None,None).For rectilinear grids:\n", + " The grid classification mode specifies how the grid type is to be determined.\n", + " By default, the grid type (Gaussian, uniform, etc.) is determined by calling grid.classifyInFamily.\n", + " If the mode is ‘off’ grid.getType is used instead.\n", + "\n", + "Axis \tgetLatitude() \tGet the latitude axis of this grid.\n", + "Axis \tgetLongitude() \tGet the latitude axis of this grid.\n", + "Axis \tgetMask() \t\n", + "\n", + "Get the mask array of this grid, if any.\n", + "\n", + " Returns a 2-D Numpy array, having the same shape as the grid.\n", + " If the mask is not explicitly defined, the return value is None.\n", + "\n", + "Axis \tgetMesh(self, transpose=None) \t\n", + "\n", + "Generate a mesh array for the meshfill graphics method.\n", + "\n", + " If transpose is defined to a tuple, say (1,0), first transpose latbounds and lonbounds according to the tuple, in this case (1,0,2).\n", + "\n", + "None \tsetBounds(latBounds, lonBounds, persistent=0) \t\n", + "\n", + "Set the grid boundaries.\n", + "\n", + " latBounds is a NumPy array of shape (n,2), such that the boundaries of the kth axis value are [latBounds[k,0],latBou nds[k,1] ].\n", + " lonBounds is defined similarly for the longitude array.\n", + "\n", + " Note: By default, the boundaries are not written to the file or dataset containing the grid (if any). This allows bounds to be set on read-only files, for regridding. If the optional argument persistent is set to the boundary array is written to the file.\n", + "\n", + "None \tsetMask(mask, persistent=0) \t\n", + "\n", + "Set the grid mask.\n", + "\n", + " If persistent == 1, the mask values are written to the associated file, if any.\n", + " Otherwise, the mask is associated with the grid, but no I/O is generated.\n", + " mask is a two-dimensional, Boolean-valued Numpy array, having the same shape as the grid.\n", + "\n", + "Horizontal-Grid \tsubGridRegion(latInterval, lonInterval) \t\n", + "\n", + "Create a new grid corresponding to the coordinate region defined by latInterval, lonInterv al.\n", + "\n", + " latInterval and lonInterval are the coordinate intervals for latitude and longitude, respectively.\n", + " Each interval is a tuple having one of the forms:\n", + " (x,y)\n", + " (x,y,indicator)\n", + " (x,y,indicator,cycle)\n", + " None\n", + "\n", + " Where x and y are coordinates indicating the interval [x,y), and:\n", + "\n", + " indicator is a two-character string, where the first character is ‘c’ if the interval is closed on the left, ‘o’ if open, and the second character has the same meaning for the right-hand point. (Default: ‘co’).\n", + " If cycle is specified, the axis is treated as circular with the given cycle value.\n", + " By default, if grid.isCircular() is true, the axis is treated as circular with a default value of 360.0.\n", + " An interval of None returns the full index interval of the axis.\n", + " If a mask is defined, the subgrid also has a mask corresponding to the index ranges.\n", + "\n", + " Note: The result grid is not associated with any file or dataset.\n", + "\n", + "Transient-CurveGrid \ttoCurveGrid(gridid=None) \t\n", + "\n", + "Convert to a curvilinear grid.\n", + "\n", + " If the grid is already curvilinear, a copy of the grid object is returned.\n", + " gridid is the string identifier of the resulting curvilinear grid object.\n", + " If unspecified, the grid ID is copied.\n", + "\n", + " Note: This method does not apply to generic grids.\n", + "\n", + " Transient-GenericGrid toGenericGrid(gridid=None) Convert to a generic grid.\n", + " If the grid is already generic, a copy of the grid is returned.\n", + " gridid is the string identifier of the resulting curvilinear grid object.\n", + " If unspecified, the grid ID is copied.\n", + "\n", + "2.10.5. Table RectGrid Methods, Additional to HorizontalGrid Methods\n", + "Type \tMethod \tDescription\n", + "String \tgetOrder() \t\n", + "\n", + "Get the grid ordering, either ‘yx’ if latitude is the first axis, or ‘xy’ if longitude is the first axis.\n", + "\n", + " String getType()\n", + "\n", + " Get the grid type, either ‘gaussian’, ‘uniform’, ‘equalarea’, or ‘generic’.\n", + " (Array,Array) getWeights()\n", + " Get the normalized area weight arrays, as a tuple (latWeights, lonWeights).\n", + " It is assumed that the latitude and longitude axes are defined in degrees.\n", + "\n", + " The latitude weights are defined as:\n", + "\n", + " latWeights[i] = 0.5 * abs(sin(latBounds[i+1]) - sin(latBounds[i]))\n", + "\n", + " The longitude weights are defined as:\n", + "\n", + " lonWeights[i] = abs(lonBounds[i+1] - lonBounds [i])/360.0\n", + "\n", + " For a global grid, the weight arrays are normalized such that the sum of the weights is 1.0\n", + "\n", + " Example:\n", + "\n", + " Generate the 2-D weights array, such that weights[i.j] is the fractional area of grid zone [i,j].\n", + " from cdms import MV\n", + " latwts, lonwts = gri d.getWeights()\n", + " weights = MV.outerproduct(latwts, lonwts)\n", + " Also see the function area_weights in module pcmdi.weighting.\n", + "\n", + "None \tsetType(gridtype) \t\n", + "\n", + "Set the grid type.\n", + "\n", + " gridtype is one of ‘gaussian’, ‘uniform’, ‘equalarea’, or ‘generic’.\n", + "\n", + "RectGrid \tsubGrid((latStart,latStop),(lonStart,lonStop)) \t\n", + "\n", + "Create a new grid, with latitude index range `` [latStart : latStop] and longitude index range [lonStart : lonStop]. Either index range can also be specified as None, indicating that the entire range of the latitude or longitude is used.\n", + "\n", + " Example:\n", + "\n", + " This creates newgrid corresponding to all latitudes and index range [lonStart:lonStop] of oldgrid.\n", + " newgrid = oldgrid.subGrid(None, (lonStart, lon Stop))\n", + " If a mask is defined, the subgrid also has a mask corresponding to the index ranges.\n", + "\n", + " Note: The result grid is not associated with any file or dataset.\n", + "\n", + "RectGrid \ttranspose() \t\n", + "\n", + "Create a new grid, with axis order reversed. The grid mask is also transposed.\n", + " Note: The result grid is not associated with any file or dataset. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.11. Variable\n", + "\n", + "A Variable is a multidimensional data object, consisting of:\n", + "\n", + " a multidimensional data array, possibly masked,\n", + " a collection of attributes\n", + " a domain, an ordered tuple of CoordinateAxis objects.\n", + "\n", + "A Variable which is contained in a Dataset or CdmsFile is called a persistent variable. Setting a slice of a persistent Variable writes data to the Dataset or file, and referencing a Variable slice reads data from the Dataset. Variables may also be transient, not associated with a Dataset or CdmsFile.\n", + "\n", + "Variables support arithmetic operations, including the basic Python operators (+,,*,/,**, abs, and sqrt), as well as the operations defined in the MV module. The result of an arithmetic operation is a transient variable, that is, the axis information is transferred to the result.\n", + "\n", + "The methods subRegion and subSlice return transient variables. In addition, a transient variable may be created with the cdms.createVariable method. The vcs and regrid module methods take advantage of the attribute, domain, and mask information in a transient variable.\n", + "2.11.1. Table Variable Internal Attributes\n", + "Type \tName \tDefinition\n", + "Dictionary \tattributes \tExternal attribute dictionary.\n", + "String \tid \tVariable identifier.\n", + "String \tname_in_file \tThe name of the variable in the file or files which represent the dataset. If different from id, the variable is aliased.\n", + "Dataset or CdmsFile \tparent \tThe dataset or file which contains the variable.\n", + "Tuple \tshape \tThe length of each axis of the variable\n", + "2.11.2. Table Variable Constructors\n", + "Constructor \tDescription\n", + "Dataset.createVariable(String id, String datatype, List axes) \tCreate a Variable in a Dataset. This function is not yet implemented.\n", + "CdmsFile.createVariable(String id, String datatype, List axes or Grids) \t\n", + "\n", + "Create a Variable in a CdmsFile.\n", + "\n", + " id is the name of the variable.\n", + " datatype is the MV2 or Numpy | typecode, for example, MV2.Float.\n", + " axesOrGrids is a list of Axis and/or Grid objects, on which the variable is defined. Specifying a rectilinear grid is equivalent to listing the grid latitude and longitude axes, in the order defined for the grid.\n", + "\n", + " Note: this argument can either be a list or a tuple. If the tuple form is used, and there is only one element, it must have a following comma, e.g.: (axisobj,).\n", + "\n", + "cdms.createVariable(array, typecode=None, copy=0, savespace=0,mask=None, fill_value=None, grid=None, axes=None,attributes=None, id=None) \t\n", + "\n", + "Create a transient variable, not associated with a file or dataset.\n", + "\n", + " array is the data values: a Variable, masked array, or Numpy array.\n", + " typecode is the MV2 typecode of the array. Defaults to the typecode of array.\n", + " copy is an integer flag: if 1, the variable is created with a copy of the array, if 0 the variable data is shared with array.\n", + " savespace is an integer flag: if set to 1, internal Numpy operations will attempt to avoid silent upcasting.\n", + " mask is an array of integers with value 0 or 1, having the same shape as array. array elements with a corresponding mask value of 1 are considered invalid, and are not used for subsequent Numpy operations. The default mask is obtained from array if present, otherwise is None.\n", + " fill_value is the missing value flag. The default is obtained from array if possible, otherwise is set to 1.0e20 for floating point variables, 0 for integer-valued variables.\n", + " grid is a rectilinear grid object.\n", + " axes is a tuple of axis objects. By default the axes are obtained from array if present. Otherwise for a dimension of length n, the default axis has values [0., 1., …, double(n)].\n", + " attributes is a dictionary of attribute values. The dictionary keys must be strings. By default the dictionary is obtained from array if present, otherwise is empty.\n", + " id is the string identifier of the variable. By default the id is obtained from array if possible, otherwise is set to ‘variable_n’ for some integer.\n", + "\n", + "2.11.3. Table Variable Methods\n", + "Type \tMethod \tDefinition\n", + "Variable \ttvar = var[ i:j, m:n] \t\n", + "\n", + "Read a slice of data from the file or dataset, resulting in a transient variable.\n", + "\n", + " Singleton dimensions are ‘squeezed’ out.\n", + " Data is returned in the physical ordering defined in the dataset.\n", + " The forms of the slice operator are listed in Variable Slice Operators\n", + "\n", + "None \tvar[ i:j, m:n] = array \t\n", + "\n", + "Write a slice of data to the external dataset.\n", + "\n", + " The forms of the slice operator are listed in Result Entry Methods . (Variables in CdmsFiles only)\n", + "\n", + "Variable \ttvar = var(selector) \t\n", + "\n", + "Calling a variable as a function reads the region of data defined by the selector.\n", + "\n", + " The result is a transient variable, unless raw=1 keyword is specified.\n", + " See Selectors’ .\n", + "\n", + "None \tassignValue(Array ar) \tWrite the entire data array. Equivalent to var[:] = ar. (Variables in CdmsFiles only).\n", + "Variable \tastype(typecode) \t\n", + "\n", + "Cast the variable to a new datatype.\n", + "\n", + " Typecodes are as for MV, MV2, and Numpy modules.\n", + "\n", + "Variable \tclone(copyData=1) \t\n", + "\n", + "Return a copy of a transient variable.\n", + "\n", + " If copyData is 1 (the default) the variable data is copied as well.\n", + " If copyData is 0, the result transient variable shares the original transient variables data array.\n", + "\n", + "Transient Variable \tcrossSectionRegrid(newLevel, newLatitude, method='log', missing=None, order=None) \t\n", + "\n", + "Return a lat/level vertical cross-section regridded to a new set of latitudes newLatitude and levels newLevel.\n", + "\n", + " The variable should be a function of latitude, level, and (optionally) time.\n", + " newLevel is an axis of the result pressure levels.\n", + " newLatitude is an axis of the result latitudes.\n", + " method is optional, either ‘log’ to interpolate in the log of pressure (default), or ‘linear’ for linear interpolation.\n", + " missing is a missing data value. The default is var.getMissing()\n", + " order is an order string such as ‘tzy’ or ‘zy’. The default is var.getOrder().\n", + " See also: regrid, pressureRegrid.\n", + "\n", + "Axis \tgetAxis(n) \t\n", + "\n", + "Get the n-th axis.\n", + "\n", + " n is an integer.\n", + "\n", + "List \tgetAxisIds() \tGet a list of axis identifiers.\n", + "Integer \tgetAxisIndex(axis_spec) \t\n", + "\n", + "Return the index of the axis specificed by axis_spec. Return -1 if no match.\n", + "\n", + " axis_spec is a specification as defined for getAxisList\n", + "\n", + "List \tgetAxisList(axes=None, omit=None, order=None) \t\n", + "\n", + "Get an ordered list of axis objects in the domain of the variable.\n", + "\n", + " If axes is not None, include only certain axes. Otherwise axes is a list of specifications as described below. Axes are returned in the order specified unless the order keyword is given.\n", + " If omit is not None, omit those specified by an integer dimension number. Otherwise omit is a list of specifications as described below.\n", + " order is an optional string determining the output order.\n", + "\n", + " Specifications for the axes or omit keywords are a list, each element having one of the following forms:\n", + "\n", + " an integer dimension index, starting at 0.\n", + " a string representing an axis id or one of the strings ‘time’, ‘latitude’, ‘lat’, ‘longitude’, ‘lon’, ‘lev’ or ‘level’.\n", + " a function that takes an axis as an argument and returns a value. If the value returned is true, the axis matches.\n", + " an axis object; will match if it is the same object as axis.\n", + " order can be a string containing the characters t,x,y,z, or * .\n", + " If a dash (‘-‘) is given, any elements of the result not chosen otherwise are filled in from left to right with remaining candidates.\n", + "\n", + "List \tgetAxisListIndex(axes=None, omit=None, order=None) \tReturn a list of indices of axis objects. Arguments are as for getAxisList.\n", + "List \tgetDomain() \t\n", + "\n", + "Get the domain.\n", + "\n", + " Each element of the list is itself a tuple of the form (axis,start,length,tru e_length)\n", + "\n", + " where axis is an axis object,\n", + " start is the start index of the domain relative to the axis object,\n", + " length is the length of the axis, and true_length is the actual number of (defined) points in the domain.\n", + "\n", + " See also: getAxisList.\n", + "\n", + "Horizontal-Grid \tgetGrid() \tReturn the associated grid, or None if the variable is not gridded.\n", + "Axis \tgetLatitude() \tGet the latitude axis, or None if not found.\n", + "Axis \tgetLevel() \tGet the vertical level axis, or None if not found.\n", + "Axis \tgetLongitude() \tGet the longitude axis, or None if not found.\n", + "Various \tgetMissing() \t\n", + "\n", + "Get the missing data value, or None if not found.\n", + "\n", + " String getOrder() Get the order string of a spatio-temporal variable.\n", + "\n", + " The order string specifies the physical ordering of the data.\n", + " It is a string of characters with length equal to the rank of the variable, indicating the order of the variable’s time, level, latitude, and/or longitude axes.\n", + "\n", + " Each character is one of:\n", + "\n", + " ‘t’: time\n", + " ‘z’: vertical level\n", + " ‘y’: latitude\n", + " ‘x’: longitude\n", + " ‘-‘: the axis is not spatio-temporal.\n", + "\n", + " Example: * A variable with ordering ‘tzyx’ is 4-dimensional, where the ordering of axes is (time, level, latitude, longitude).\n", + "\n", + " Note: The order string is of the form required for the order argument of a regridder function.\n", + "\n", + " intervals is a list of scalars, 2-tuples representing [i,j), slices, and/or Ellipses.\n", + " If no argument(s) are present, all file paths associated with the variable are returned.\n", + " Returns a list of tuples of the form (path,slicetuple), where path is the path of a file, and slicetuple is itself a tuple of slices, of the same length as the rank of the variable, representing the portion of the variable in the file corresponding to intervals.\n", + "\n", + " Note: This function is not defined for transient variables.\n", + "\n", + "Axis \tgetTime() \tGet the time axis, or None if not found.\n", + "List \tgetPaths(*intervals) \tGet the file paths associated with the index region specified by intervals.\n", + "Integer \tlen(var) \t\n", + "\n", + "The length of the first dimension of the variable. If the variable is zero-dimensional (scalar), a length of 0 is returned.\n", + " Note: size() returns the total number of elements.\n", + "\n", + "Transient Variable \tpressureRegrid (newLevel, method='log', missin=None, order=None) \t\n", + "\n", + "Return the variable regridded to a new set of pressure levels newLevel.\n", + "\n", + " The variable must be a function of latitude, longitude, pressure level, and (optionally) time.\n", + "\n", + " newLevel is an axis of the result pressure levels.\n", + " method is optional, either ‘log’ to interpolate in the log of pressure (default), or ‘linear’ for linear interpolation.\n", + " missing is a missing data value. The default is var.getMissing()\n", + " order is an order string such as ‘tzyx’ or ‘zyx’. The default is var.getOrder()\n", + " See also: regrid, crossSectionRegrid.\n", + "\n", + "Integer \trank() \tThe number of dimensions of the variable.\n", + "Transient \tregrid (togrid, missing=None, order=None, Variable mask=None) \t\n", + "\n", + "Return the variable regridded to the horizontal grid togrid.\n", + "\n", + " missing is a Float specifying the missing data value. The default is 1.0e20.\n", + " order is a string indicating the order of dimensions of the array. It has the form returned from variable.getOrder().\n", + " For example, the string ‘tzyx’ indicates that the dimension order of array is (time, level, latitude, longitude).\n", + " If unspecified, the function assumes that the last two dimensions of array match the input grid.\n", + " mask is a Numpy array, of datatype Integer or Float, consisting of ones and zeros. A value of 0 or 0.0 indicates that the corresponding data value is to be ignored for purposes of regridding.\n", + " If mask is two-dimensional of the same shape as the input grid, it overrides the mask of the input grid.\n", + " If the mask has more than two dimensions, it must have the same shape as array. In this case, the missing data value is also ignored.\n", + " Such an n-dimensional mask is useful if the pattern of missing data varies with level (e.g., ocean data) or time.\n", + "\n", + " Note: If neither missing or mask is set, the default mask is obtained from the mask of the array if any.\n", + "\n", + " See also: crossSectionRegrid, pressureRegrid.\n", + "\n", + "None \tsetAxis(n, axis) \tSet the n-th axis (0-origin index) of to a copy of axis.\n", + "None \tsetAxisList(axislist) \tSet all axes of the variable. axislist is a list of axis objects.\n", + "None \tsetMissing(value) \tSet the missing value. Integer size() Number of elements of the variable.\n", + "Variable \tsubRegion(* region, time=None, level=None, latitude=None, longitude=None, squeeze=0, raw=0) \t\n", + "\n", + "Read a coordinate region of data, returning a transient variable.\n", + "\n", + " A region is a hyperrectangle in coordinate space.\n", + "\n", + " region is an argument list, each item of which specifies an interval of a coordinate axis. The intervals are listed in the order of the variable axes.\n", + " If trailing dimensions are omitted, all values of those dimensions are retrieved.\n", + " If an axis is circular (axis.isCircular() is true) or cycle is specified (see below), then data will be read with wraparound in that dimension.\n", + " Only one axis may be read with wraparound.\n", + " A coordinate interval has one of the forms listed in Index and Coordinate Intervals .\n", + " Also see axis.mapIntervalExt.\n", + " The optional keyword arguments time, level, latitude, and longitude may also be used to specify the dimension for which the interval applies. This is particularly useful if the order of dimensions is not known in advance.\n", + " An exception is raised if a keyword argument conflicts with a positional region argument.\n", + " The optional keyword argument squeeze determines whether or not the shape of the returned array contains dimensions whose length is 1; by default this argument is 0, and such dimensions are not ‘squeezed out’.\n", + " The optional keyword argument raw specifies whether the return object is a variable or a masked array.\n", + " By default, a transient variable is returned, having the axes and attributes corresponding to2,3 the region read. If raw=1, an MV2 masked array is returned, equivalent to the transient variable without the axis and attribute information.\n", + "\n", + "Variable \tsubSlice(* specs, time=None, level=None, latitude=None, longitude=None, squeeze=0, raw=0) \t\n", + "\n", + "Read a slice of data, returning a transient variable.\n", + "\n", + " This is a functional form of the slice operator [] with the squeeze option turned off.\n", + "\n", + " specs is an argument list, each element of which specifies a slice of the corresponding dimension.\n", + "\n", + " There can be zero or more positional arguments, each of the form:\n", + "\n", + " a single integer n, meaning slice(n, n+1)\n", + " an instance of the slice class\n", + " a tuple, which will be used as arguments to create a slice\n", + " ‘:’, which means a slice covering that entire dimension\n", + " Ellipsis (…), which means to fill the slice list with ‘:’ leaving only enough room at the end for the remaining positional arguments\n", + " a Python slice object, of the form slice(i,j,k)\n", + " If there are fewer slices than corresponding dimensions, all values of the trailing dimensions are read.\n", + " The keyword arguments are defined as in subRegion.\n", + " There must be no conflict between the positional arguments and the keywords.\n", + " In (a)-(c) and (f), negative numbers are treated as offsets from the end of that dimension, as in normal Python indexing.\n", + " String typecode() The Numpy datatype identifier.\n", + "\n", + "2.11.4. Example Get a Region of Data.\n", + "\n", + "Variable ta is a function of (time, latitude, longitude). Read data corresponding to all times, latitudes -45.0 up to but not including+45.0, longitudes 0.0 through and including longitude 180.0:" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'ta' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mta\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubRegion\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m':'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m45.0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m45.0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'co'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;36m0.0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m180.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'ta' is not defined" + ] + } + ], + "source": [ + "data = ta.subRegion(':', (-45.0,45.0,'co'), (0.0, 180.0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "or equivalently:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "unexpected EOF while parsing (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m data = ta.subRegion(latitude=(-45.0,45.0,'co'), longitude=(0.0,\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m unexpected EOF while parsing\n" + ] + } + ], + "source": [ + "data = ta.subRegion(latitude=(-45.0,45.0,'co'), longitude=(0.0,\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Read all data for March, 1980:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'ta' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mta\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubRegion\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtime\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'1980-3'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'1980-4'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'co'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'ta' is not defined" + ] + } + ], + "source": [ + "data = ta.subRegion(time=('1980-3','1980-4','co'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.11.6. Table Index and Coordinate Intervals\n", + "Interval Definition \tExample Interval Definition \tExample\n", + "x \tsingle point, such that axis[i]==x In general x is a scalar. If the axis is a time axis, x may also be a cdtime relative time type, component time type, or string of the form ‘yyyy-mm-dd hh:mi:ss’ (where trailing fields of the string may be omitted. \t\n", + "\n", + "180.0\n", + " cdtime.reltime(48,'hour s since 1980-1') '1980-1-3'\n", + "\n", + "(x,y) \tindices i such that x ≤ axis[i] ≤ y \t(-180,180)\n", + "(x,y,'co') \tx ≤ axis[i] < y. The third item is defined as in mapInterval. \t(-90,90,'cc')\n", + "(x,y,'co',cycle) \tx ≤ axis[i]< y, with wraparound \t\n", + "\n", + "( 180, 180, 'co', 360.0)\n", + " Note: It is not necesary to specify the cycle of a circular longitude axis, that is, for which axis.isCircular() is true.\n", + "\n", + "slice(i,j,k) \t\n", + "\n", + " slice object, equivalent to i:j:k in a slice operator. Refers to the indices i, i+k, i+2k, … up to but not including index j. If i is not specified or is None it defaults to 0. If j is not specified or is None it defaults to the length of the axis. The stride k defaults to 1. k may be negative.\n", + "\n", + "\t\n", + "\n", + "slice(1,10)\n", + " slice(,,-1) reverses the direction of the axis.\n", + "\n", + "':' \tall axis values of one dimension \t \n", + "Ellipsis \tall values of all intermediate axes \t " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.12. Selectors\n", + "\n", + "A selector is a specification of a region of data to be selected from a variable. For example, the statement:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'v' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtime\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'1979-1-1'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1000.0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m100.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'v' is not defined" + ] + } + ], + "source": [ + "x = v(time='1979-1-1', level=(1000.0,100.0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "means ‘select the values of variable v for time ‘1979-1-1’ and levels 1000.0 to 100.0 inclusive, setting x to the result.’ Selectors are generally used to represent regions of space and time.\n", + "\n", + "The form for using a selector is:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'v' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'v' is not defined" + ] + } + ], + "source": [ + "result = v(s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "where v is a variable and s is the selector. An equivalent form is:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'f' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'varid'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ms\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'f' is not defined" + ] + } + ], + "source": [ + "result = f('varid', s)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "where f is a file or dataset, and ‘varid’ is the string ID of a variable.\n", + "\n", + "A selector consists of a list of selector components. For example, the selector:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "can't assign to literal (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m time='1979-1-1', level=(1000.0,100.0)\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m can't assign to literal\n" + ] + } + ], + "source": [ + "time='1979-1-1', level=(1000.0,100.0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "has two components: time=’1979-1-1’, and level=(1000.0,100.0). This illustrates that selector components can be defined with keywords, using the form:" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'value' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mkeyword\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'value' is not defined" + ] + } + ], + "source": [ + "keyword=value" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that for the keywords time, level, latitude, and longitude, the selector can be used with any variable. If the corresponding axis is not found, the selector component is ignored. This is very useful for writing general purpose scripts. The required keyword overrides this behavior. These keywords take values that are coordinate ranges or index ranges as defined in See Index and Coordinate Intervals.\n", + "\n", + "The following keywords are available: Another form of selector components is the positional form, where the component order corresponds to the axis order of a variable. For example:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.12.1. Table Selector Keywords\n", + "Keyword \tDescription \tValue\n", + "axisid \tRestrict the axis with ID axisid to a value or range of values. \tSee Index and Coordinate Intervals\n", + "grid \tRegrid the result to the grid. \tGrid object\n", + "latitude \tRestrict latitude values to a value or range. Short form: lat \tSee Index and Coordinate Intervals\n", + "level \tRestrict vertical levels to a value or range. Short form: lev \tSee Index and Coordinate Intervals\n", + "longitude \tRestrict longitude values to a value or range. Short form: lon \tSee Index and Coordinate Intervals\n", + "order \tReorder the result. \tOrder string, e.g., ‘tzyx’\n", + "raw \tReturn a masked array (MV2.array) rather than a transient variable. \t0: return a transient variable (default); =1: return a masked array.\n", + "required \tRequire that the axis IDs be present. \tList of axis identifiers.\n", + "squeeze \tRemove singleton dimensions from the result. \t0: leave singleton dimensions (default); 1: remove singleton dimensions.\n", + "time \tRestrict time values to a value or range. \tSee Index and Coordinate Intervals\n", + "\n", + "Another form of selector components is the positional form, where the component order corresponds to the axis order of a variable. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'hus' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mx9\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhus\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'1979-1-1'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'1979-2-1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1000.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'hus' is not defined" + ] + } + ], + "source": [ + "x9 = hus(('1979-1-1','1979-2-1'),1000.0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "reads data for the range (‘1979-1-1’,’1979-2-1’) of the first axis, and coordinate value 1000.0 of the second axis. Non-keyword arguments of the form(s) listed in Index and Coordinate Intervals are treated as positional. Such selectors are more concise, but not as general or flexible as the other types described in this section.\n", + "\n", + "Selectors are objects in their own right. This means that a selector can be defined and reused, independent of a particular variable. Selectors are constructed using the cdms.selectors.Selector class. The constructor takes an argument list of selector components. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "No module named cdms.selectors", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mcdms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mselectors\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mSelector\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0msel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSelector\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtime\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'1979-1-1'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'1979-2-1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1000.\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mx1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mv1\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mx2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mv2\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mImportError\u001b[0m: No module named cdms.selectors" + ] + } + ], + "source": [ + "from cdms.selectors import Selector\n", + "sel = Selector(time=('1979-1-1','1979-2-1'), level=1000.)\n", + "x1 = v1(sel)\n", + "x2 = v2(sel)\n", + "\n", + "from cdms.selectors import Selector\n", + "sel = Selector(time=('1979-1-1','1979-2-1'), level=1000.)\n", + "x1 = v1(sel)\n", + "x2 = v2(sel)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For convenience CDMS provides several predefined selectors, which can be used directly or can be combined into more complex selectors. The selectors time, level, latitude, longitude, and required are equivalent to their keyword counterparts. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "No module named cdms", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mcdms\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mtime\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhus\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'1979-1-1'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'1979-2-1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1000.\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mImportError\u001b[0m: No module named cdms" + ] + } + ], + "source": [ + "from cdms import time, level\n", + "x = hus(time('1979-1-1','1979-2-1'), level(1000.))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "and\n", + "\n", + "are equivalent. Additionally, the predefined selectors latitudeslice, longitudeslice, levelslice, and timeslice take arguments (startindex, stopindex[, stride]):" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "No module named cdms", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mcdms\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mtimeslice\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlevelslice\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeslice\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlevelslice\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m16\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m17\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mImportError\u001b[0m: No module named cdms" + ] + } + ], + "source": [ + "from cdms import timeslice, levelslice\n", + "x = v(timeslice(0,2), levelslice(16,17))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, a collection of selectors is defined in module cdutil.region:" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 3)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m SH=SouthernHemisphere=domain(latitude=(-90.,0.))\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "from cdutil.region import *\n", + "NH=NorthernHemisphere=domain(latitude=(0.,90.)\n", + "SH=SouthernHemisphere=domain(latitude=(-90.,0.))\n", + "Tropics=domain(latitude=(-23.4,23.4))\n", + "NPZ=AZ=ArcticZone=domain(latitude=(66.6,90.))\n", + "SPZ=AAZ=AntarcticZone=domain(latitude=(-90.,-66.6))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Selectors can be combined using the & operator, or by refining them in the call:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "No module named cdms.selectors", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mcdms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mselectors\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mSelector\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mcdms\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mlevel\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0msel2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSelector\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtime\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'1979-1-1'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'1979-2-1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0msel3\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msel2\u001b[0m \u001b[0;34m&\u001b[0m \u001b[0mlevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1000.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mx1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhus\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msel3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mImportError\u001b[0m: No module named cdms.selectors" + ] + } + ], + "source": [ + "from cdms.selectors import Selector\n", + "from cdms import level\n", + "sel2 = Selector(time=('1979-1-1','1979-2-1'))\n", + "sel3 = sel2 & level(1000.0)\n", + "x1 = hus(sel3)\n", + "x2 = hus(sel2, level=1000.0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.12.2. Selector Examples\n", + "\n", + "CDMS provides a variety of ways to select or slice data. In the following examples, variable hus is contained in file sample.nc, and is a function of (time, level, latitude, longitude). Time values are monthly starting at 1979-1-1. There are 17 levels, the last level being 1000.0. The name of the vertical level axis is ‘plev’. All the examples select the first two times and the last level. The last two examples remove the singleton level dimension from the result array." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "No module named cdms", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mcdms\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'sample.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mhus\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'hus'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;31m# Keyword selection\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mImportError\u001b[0m: No module named cdms" + ] + } + ], + "source": [ + "import cdms\n", + "f = cdms.open('sample.nc')\n", + "hus = f.variables['hus']\n", + "\n", + "# Keyword selection\n", + "x = hus(time=('1979-1-1','1979-2-1'), level=1000.)\n", + "\n", + "# Interval indicator (see mapIntervalExt)\n", + "x = hus(time=('1979-1-1','1979-3-1','co'), level=1000.)\n", + "\n", + "# Axis ID (plev) as a keyword\n", + "x = hus(time=('1979-1-1','1979-2-1'), plev=1000.)\n", + "\n", + "# Positional\n", + "x9 = hus(('1979-1-1','1979-2-1'),1000.0)\n", + "\n", + "# Predefined selectors\n", + "from cdms import time, level\n", + "x = hus(time('1979-1-1','1979-2-1'), level(1000.))\n", + "\n", + "from cdms import timeslice, levelslice\n", + "x = hus(timeslice(0,2), levelslice(16,17))\n", + "\n", + "# Call file as a function\n", + "x = f('hus', time=('1979-1-1','1979-2-1'), level=1000.)\n", + "\n", + "# Python slices\n", + "x = hus(time=slice(0,2), level=slice(16,17))\n", + "\n", + "# Selector objects\n", + "from cdms.selectors import Selector\n", + "sel = Selector(time=('1979-1-1','1979-2-1'), level=1000.)\n", + "x = hus(sel)\n", + "\n", + "sel2 = Selector(time=('1979-1-1','1979-2-1'))\n", + "sel3 = sel2 & level(1000.0)\n", + "x = hus(sel3)\n", + "x = hus(sel2, level=1000.0)\n", + "\n", + "# Squeeze singleton dimension (level)\n", + "x = hus[0:2,16]\n", + "x = hus(time=('1979-1-1','1979-2-1'), level=1000., squeeze=1)\n", + "\n", + "f.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.13. Examples\n", + "2.13.1. Example 1\n", + "\n", + "In this example, two datasets are opened, containing surface air temperature (‘tas’) and upper-air temperature (‘ta’) respectively. Surface air temperature is a function of (time, latitude, longitude). Upper-air temperature is a function of (time, level, latitude, longitude). Time is assumed to have a relative representation in the datasets (e.g., with units ‘months since basetime’).\n", + "\n", + "Data is extracted from both datasets for January of the first input year through December of the second input year. For each time and level, three quantities are calculated: slope, variance, and correlation. The results are written to a netCDF file. For brevity, the functions corrCoefSlope and removeSeasonalCycle are omitted." + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m 1. import cdms\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "1. import cdms\n", + " import MV\n", + "\n", + " # Calculate variance, slope, and correlation of\n", + " # surface air temperature with upper air temperature\n", + " # by level, and save to a netCDF file. 'pathTa' is the location of\n", + " # the file containing 'ta', 'pathTas' is the file with contains 'tas'.\n", + " # Data is extracted from January of year1 through December of year2.\n", + " def ccSlopeVarianceBySeasonFiltNet(pathTa,pathTas,month1,month2):\n", + "\n", + " # Open the files for ta and tas\n", + " fta = cdms.open(pathTa)\n", + " ftas = cdms.open(pathTas)\n", + "\n", + "2. #Get upper air temperature\n", + " taObj = fta['ta']\n", + " levs = taObj.getLevel()\n", + "\n", + " #Get the surface temperature for the closed interval [time1,time2]\n", + " tas = ftas('tas', time=(month1,month2,'cc'))\n", + "\n", + " # Allocate result arrays\n", + " newaxes = taObj.getAxisList(omit='time')\n", + " newshape = tuple([len(a) for a in newaxes])\n", + " cc = MV.zeros(newshape, typecode=MV.Float, axes=newaxes, id='correlation')\n", + " b = MV.zeros(newshape, typecode=MV.Float, axes=newaxes, id='slope')\n", + " v = MV.zeros(newshape, typecode=MV.Float, axes=newaxes, id='variance')\n", + "\n", + " # Remove seasonal cycle from surface air temperature\n", + " tas = removeSeasonalCycle(tas)\n", + "\n", + " # For each level of air temperature, remove seasonal cycle\n", + " # from upper air temperature, and calculate statistics\n", + "5. for ilev in range(len(levs)):\n", + "\n", + " ta = taObj(time=(month1,month2,'cc'), \\\n", + " level=slice(ilev, ilev+1), squeeze=1)\n", + " ta = removeSeasonalCycle(ta)\n", + " cc[ilev], b[ilev] = corrCoefSlope(tas ,ta)\n", + " v[ilev] = MV.sum( ta**2 )/(1.0*ta.shape[0])\n", + "\n", + " # Write slope, correlation, and variance variables\n", + "6. f = cdms.open('CC_B_V_ALL.nc','w')\n", + " f.title = filtered\n", + " f.write(b)\n", + " f.write(cc)\n", + " f.write(v)\n", + " f.close()\n", + "\n", + "7. if __name__=='__main__':\n", + " pathTa = '/pcmdi/cdms/sample/ccmSample_ta.xml'\n", + " pathTas = '/pcmdi/cdms/sample/ccmSample_tas.xml'\n", + " # Process Jan80 through Dec81\n", + " ccSlopeVarianceBySeasonFiltNet(pathTa,pathTas,'80-1','81-12')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notes:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Two modules are imported, \"cdms\", and \"MV\". \"MV\" implements\n", + " arithmetic functions.\n", + "15. \"taObj\" is a file (persistent) variable. At this point, no data has\n", + " actually been read. This happens when the file variable is sliced, or\n", + " when the subRegion function is called. levs is an axis.\n", + "20. Calling the file like a function reads data for the given variable\n", + " and time range. Note that month1 and month2 are time strings.\n", + "25. In contrast to \"taObj\", the variables \"cc:\" b\" and \"v\" are\n", + " transient variables, not associated with a file. The assigned names\n", + " are used when the variables are written.\n", + "34. Another way to read data is to call the variable as a function. The\n", + " squeeze option removes singleton axes, in this case the level axis.\n", + "43. Write the data. Axis information is written automatically.\n", + "50. This is the main routine of the script. \"pathTa\" and \"pathTas\"\n", + " pathnames. Data is processed from January 1980 through December 1981.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2.13.2. Example 2\n", + "\n", + "In the next example, the pointwise variance of a variable over time is calculated, for all times in a dataset. The name of the dataset and variable are entered, then the variance is calculated and plotted via the vcs module." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 13)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m13\u001b[0m\n\u001b[0;31m print Hit return to continue: ,\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "#!/usr/bin/env python\n", + "#\n", + "# Calculates gridpoint total variance\n", + "# from an array of interest\n", + "#\n", + "\n", + "import cdms\n", + "from MV import *\n", + "\n", + "# Wait for return in an interactive window\n", + "\n", + "def pause():\n", + " print Hit return to continue: ,\n", + " line = sys.stdin.readline()\n", + "\n", + "1. # Calculate pointwise variance of variable over time\n", + "# Returns the variance and the number of points\n", + "# for which the data is defined, for each grid point\n", + "def calcVar(x):\n", + " # Check that the first axis is a time axis\n", + " firstaxis = x.getAxis(0)\n", + " if not firstaxis.isTime():\n", + " raise 'First axis is not time, variable:', x.id\n", + "\n", + " n = count(x,0)\n", + " sumxx = sum(x*x)\n", + " sumx = sum(x)\n", + " variance = (n*sumxx -(sumx * sumx))/(n * (n-1.))\n", + "\n", + " return variance, n\n", + "\n", + " if __name__=='__main__':\n", + " import vcs, sys\n", + "\n", + " print 'Enter dataset path [/pcmdi/cdms/obs/erbs_mo.xml]: ',\n", + " path = string.strip(sys.stdin.readline())\n", + " if path=='': path='/pcmdi/cdms/obs/erbs_mo.xml'\n", + "\n", + "2. # Open the dataset\n", + " dataset = cdms.open(path)\n", + "\n", + " # Select a variable from the dataset\n", + " print 'Variables in file:',path\n", + " varnames = dataset.variables.keys()\n", + " varnames.sort()\n", + " for varname in varnames:\n", + "\n", + " var = dataset.variables[varname]\n", + " if hasattr(var,'long_name'):\n", + " long_name = var.long_name\n", + " elif hasattr(var,'title'):\n", + " long_name = var.title\n", + " else:\n", + " long_name = '?'\n", + "\n", + " print '%-10s: %s'%(varname,long_name)\n", + " print 'Select a variable: ',\n", + "3. varname = string.strip(sys.stdin.readline())\n", + " var = dataset(varname)\n", + " dataset.close()\n", + "\n", + " # Calculate variance, count, and set attributes\n", + " variance,n = calcVar(var)\n", + " variance.id = 'variance_%s'%var.id\n", + " n.id = 'count_%s'%var.id\n", + " if hasattr(var,'units'):\n", + " variance.units = '(%s)^2'%var.units\n", + "\n", + " # Plot variance\n", + " w=vcs.init()\n", + "4. w.plot(variance)\n", + " pause()\n", + " w.clear()\n", + " w.plot(n)\n", + " pause()\n", + " w.clear()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The result of running this script is as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 2)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m2\u001b[0m\n\u001b[0;31m Enter dataset path [/pcmdi/cdms/sample/obs/erbs_mo.xml]:\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "% calcVar.py\n", + "Enter dataset path [/pcmdi/cdms/sample/obs/erbs_mo.xml]:\n", + "\n", + "Variables in file: /pcmdi/cdms/sample/obs/erbs_mo.xml\n", + "albt : Albedo TOA [%]\n", + "albtcs : Albedo TOA clear sky [%]\n", + "rlcrft : LW Cloud Radiation Forcing TOA [W/m^2]\n", + "rlut : LW radiation TOA (OLR) [W/m^2]\n", + "rlutcs : LW radiation upward TOA clear sky [W/m^2]\n", + "rscrft : SW Cloud Radiation Forcing TOA [W/m^2]\n", + "rsdt : SW radiation downward TOA [W/m^2]\n", + "rsut : SW radiation upward TOA [W/m^2]\n", + "rsutcs : SW radiation upward TOA clear sky [W/m^2]\n", + "Select a variable: albt\n", + "\n", + "\n", + "\n", + "Hit return to continue:\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notes:\n", + "\n", + " n = count(x, 0) returns the pointwise number of valid values, summing across axis 0, the first axis. count is an MV function.\n", + " dataset is a Dataset or CdmsFile object, depending on whether a .xml or .nc pathname is entered. dataset.variables is a dictionary mapping variable name to file variable.\n", + " var is a transient variable.\n", + " Plot the variance and count variables. Spatial longitude and latitude information are carried with the computations, so the continents are plotted correctly.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.15" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/chapter3.ipynb b/chapter3.ipynb new file mode 100644 index 00000000..b00d80c4 --- /dev/null +++ b/chapter3.ipynb @@ -0,0 +1,403 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Module: CdTime" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time Types\n", + "\n", + "The ``cdtime`` module implements the CDMS time types, methods, and\n", + "calendars. These are made available with the command:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "import cdtime" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Two time types are available: relative time and component time. Relative\n", + "time is time relative to a fixed base time. It consists of:\n", + "\n", + "- a units string, of the form ‘units since basetime’, and\n", + "- a floating-point value\n", + "\n", + "For example, the time “28.0 days since 1996-1-1” has value=28.0, and\n", + "units=’days since 1996-1-1’\n", + "\n", + "Component time consists of the integer fields year, month, day, hour,\n", + "minute, and the floating-point field second. A sample component time is\n", + "``1996-2-28 12:10:30.0``\n", + "\n", + "The ``cdtime`` module contains functions for converting between these\n", + "forms, based on the common calendars used in climate simulation. Basic\n", + "arithmetic and comparison operators are also available.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Calendars\n", + "\n", + "A calendar specifies the number of days in each month, for a given year.\n", + "cdtime supports these calendars:\n", + "\n", + "- ``cdtime.GregorianCalendar``: years evenly divisible by four are leap\n", + " years, except century years not evenly divisible by 400. This is\n", + " sometimes called the proleptic Gregorian calendar, meaning that the\n", + " algorithm for leap years applies for all years.\n", + "- ``cdtime.MixedCalendar``: mixed Julian/Gregorian calendar. Dates\n", + " before 158210-15 are encoded with the Julian calendar, otherwise are\n", + " encoded with the Gregorian calendar. The day immediately following\n", + " 1582-10-4 is 1582-10-15. This is the default calendar.\n", + "- ``cdtime.JulianCalendar``: years evenly divisible by four are leap\n", + " years,\n", + "- ``cdtime.NoLeapCalendar``: all years have 365 days,\n", + "- ``cdtime.Calendar360``: all months have 30 days.\n", + "\n", + "Several ``cdtime`` functions have an optional calendar argument. The\n", + "default calendar is the ``MixedCalendar``. The default calendar may be\n", + "changed with the command:\n", + "\n", + "\n", + "``cdtime.DefaultCalendar = newCalendar``\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time Constructors\n", + "\n", + "The following table describes the methods for creating time types." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Table Time Constructors\n", + "\n", + "A relative time type has two members, value and units. Both can be set." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Relative Time\n", + "\n", + "3.4.1. Table Relative Time Members" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Component Time\n", + "\n", + "A component time type has six members, all of which are settable.\n", + "3.5.1. Table Component Time\n", + "Type \tName \tSummary\n", + "Integer \tyear \tYear value\n", + "Integer \tmonth \tMonth, in the range 1..12\n", + "Integer \tday \tDay of month, in the range 1 .. 31\n", + "Integer \thour \tHour, in the range 0 .. 23\n", + "Integer \tminute \tMinute, in the range 0 .. 59\n", + "Float \tsecond \tSeconds, in the range 0.0 .. 60.0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time Methods\n", + "\n", + "The following methods apply both to relative and component times." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time Methods \n", + "\n", + " \"Comptime or Reltime\", \"``t.add(value,intervalUnits, calendar=cdtime.Default-Calendar)``\", \"Add an interval of time to a time type t. Returns the same type of time.\n", + " * ``value`` is the Float number of interval units.\n", + " * ``intervalUnits`` is ``cdtime.[Second (s) | Minute(s) Hour(s) | Day(s) | Week(s) | Month(s) | Season(s) | Year(s) ]``\n", + " * ``calendar`` is the calendar type.\"\n", + " \"Integer\", \"``t.cmp(t2, calendar=cdtime.DefaultCalendar)``\", \"Compare time values t and t2. Returns -1, 0, 1 as t is less than, equal to, or greater than t2 respectively.\n", + " * ``t2`` is the time to compare.\n", + " * ``calendar`` is the calendar type.\"\n", + " \"Comptime or Reltime\", \"``t.sub(value,intervalUnits, calendar=cdtime.DefaultCalendar)``\", \"Subtract an interval of time from a time type t. Returns the same type of time.\n", + " * ``value`` is the Float number of interval units.\n", + " * ``intervalUnits`` is cdtime.[Second (s) | Minute(s) | Hour(s) | Day(s) | Week(s) | Month(s) | Season(s) | Year(s)]\n", + " * ``calendar`` is the calendar type. \"\n", + " \"Comptime\", \"``t.tocomp(calendar = cdtime.DefaultCalendar)``\", \"Convert to component time. Returns the equivalent component time.\n", + " * ``calendar`` is the calendar type.\"\n", + " \"Reltime\", \"``t.torel(units, calendar=cdtime.DefaultCalendar)``\", \"Convert to relative time. Returns the equivalent relative time.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Examples" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "29.000000 days since 1996-1-1\n", + "1996-2-29 12:0:0.0\n" + ] + } + ], + "source": [ + "from cdtime import *\n", + "c = comptime(1996,2,28)\n", + "r = reltime(28,\"days since 1996-1-1\")\n", + "print r.add(1,Day)\n", + "\n", + "print c.add(36,Hours)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note:** When adding or subtracting intervals of months or years, only the month and year of the result are significant. The reason is that intervals in months/years are not commensurate with intervals in days or fractional days. This leads to results that may be surprising." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1979-9-1 0:0:0.0" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = comptime(1979,8,31)\n", + "c.add(1,Month) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In other words, the day component of c was ignored in the addition, \n", + "and the day/hour/minute components of the results are just the defaults. \n", + "If the interval is in years, the interval is converted internally to \n", + "months:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1981-8-1 0:0:0.0" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = comptime(1979,8,31)\n", + "c.add(2,Years)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compare time values." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'cdtime' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mcdtime\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreltime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m28\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"days since 1996-1-1\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcomptime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1996\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m28\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcmp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'cdtime' is not defined" + ] + } + ], + "source": [ + "from cdtime import *\n", + "r = cdtime.reltime(28,\"days since 1996-1-1\")\n", + "c = comptime(1996,2,28)\n", + "print c.cmp(r)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Subtract an interval of time." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'cdtime' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mcdtime\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreltime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m28\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"days since 1996-1-1\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcomptime\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1996\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m28\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msub\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mDays\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'cdtime' is not defined" + ] + } + ], + "source": [ + "from cdtime import *\n", + "r = cdtime.reltime(28,\"days since 1996-1-1\")\n", + "c = comptime(1996,2,28)\n", + "print r.sub(10,Days)\n", + "\n", + "print c.sub(30,Days)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Subtract an interval of time." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For intervals of years or months, see the **note** under add() in the example above.\n", + "\n", + "Convert to component time." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 3)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m 1996-1-29 0:0:0.0\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "r = cdtime.reltime(28,\"days since 1996-1-1\") \n", + "r.tocomp()\n", + "1996-1-29 0:0:0.0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Convert to relative time." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "58.000000 days since 1996-1-1\n", + "393.000000 days since 1995\n", + "393.0\n" + ] + } + ], + "source": [ + "c = comptime(1996,2,28)\n", + "print c.torel(\"days since 1996-1-1\")\n", + "\n", + "r = reltime(28,\"days since 1996-1-1\")\n", + "print r.torel(\"days since 1995\")\n", + "\n", + "print r.torel(\"days since 1995\").value" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.15" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/chapter4.ipynb b/chapter4.ipynb new file mode 100644 index 00000000..f688e877 --- /dev/null +++ b/chapter4.ipynb @@ -0,0 +1,998 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Regridding Data\n", + "\n" + ] + }, + { + "cell_type": "raw", + "metadata": {}, + "source": [ + "Overview\n", + "\n", + "CDMS provides several methods for interpolating gridded data:\n", + "\n", + "- from one rectangular, lat-lon grid to another (CDMS regridder)\n", + "- between any two lat-lon grids (SCRIP regridder)\n", + "- from one set of pressure levels to another\n", + "- from one vertical (lat/level) cross-section to another vertical\n", + " cross-section.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CDMS Horizontal Regridder\n", + "\n", + "The simplest method to regrid a variable from one rectangular, lat/lon\n", + "grid to another is to use the regrid function defined for variables.\n", + "This function takes the target grid as an argument, and returns the\n", + "variable regridded to the target grid:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/avariable.py:1341: Warning: \n", + "avariable.regrid: We chose regridTool = esmf for you among the following choices:\n", + " Tools -> 'regrid2' (old behavior)\n", + " 'esmf' (conserve, patch, linear) or\n", + " 'libcf' (linear)\n", + " warnings.warn(message, Warning)\n", + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/avariable.py:1348: Warning: \n", + "avariable.regrid: We chose regridMethod = linear for you among the following choices:\n", + " 'conserve' or 'linear' or 'patch'\n", + " warnings.warn(message, Warning)\n" + ] + }, + { + "data": { + "text/plain": [ + "(181, 360)" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# wget \"http://cdat.llnl.gov/cdat/sample_data/clt.nc\"\n", + "# wget \"http://cdat.llnl.gov/cdat/sample_data/geos5-sample.nc\"\n", + "import cdms2\n", + "import cdat_info\n", + "f1=cdms2.open(\"clt.nc\")\n", + "f2=cdms2.open(\"geos5-sample.nc\")\n", + "clt=f1('clt') # Read the data\n", + "clt.shape\n", + "\n", + "ozone=f2['ozone'] # Get the file variable (no data read)\n", + "outgrid = ozone.getGrid() # Get the target grid\n", + "cltnew = clt.regrid(outgrid)\n", + "cltnew.shape\n", + "\n", + "outgrid.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A somewhat more efficient method is to create a regridder function. This\n", + "has the advantage that the mapping is created only once and can be used\n", + "for multiple arrays. Also, this method can be used with data in the form\n", + "of an MV2.MaskedArray. The steps in this process are:\n", + "\n", + "#. Given an input grid and output grid, generate a regridder function.\n", + "#. Call the regridder function on a Numpy array, resulting in an array\n", + " defined on the output grid. The regridder function can be called with\n", + " any array or variable defined on the input grid.\n", + "\n", + "The following example illustrates this process. The regridder function\n", + "is generated at line 9, and the regridding is performed at line 10:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/regrid2/horizontal.py:374: Warning: While this will work for now, please note that the Regridder class has been renamed Horizontal, the name 'Regridder' will be deprecated in future version. Please edit your code accordingly\n", + " Warning)\n" + ] + } + ], + "source": [ + "# wget \"http://cdat.llnl.gov/cdat/sample_data/clt.nc\"\n", + "# wget \"http://cdat.llnl.gov/cdat/sample_data/geos5-sample.nc\"\n", + "import cdms2\n", + "from regrid2 import Regridder\n", + "f = cdms2.open(\"clt.nc\")\n", + "cltf = f['clt']\n", + "ingrid = cltf.getGrid()\n", + "g = cdms2.open('geos5-sample.nc')\n", + "outgrid = g['ozone'].getGrid()\n", + "regridfunc = Regridder(ingrid, outgrid)\n", + "cltnew = regridfunc(cltf)\n", + "f.close()\n", + "g.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notes\n", + "\n", + "**Line #3** Makes the CDMS module available.\n", + "\n", + "**Line #4** Makes the Regridder class available from the regrid module.\n", + "\n", + "**Line #5** Opens the input dataset.\n", + "\n", + "**Line #6** Gets the variable object named ‘clt’. No data is read.\n", + "\n", + "**Line #7** Gets the input grid.\n", + "\n", + "**Line #8** Opens a dataset to retrieve the output grid.\n", + "\n", + "**Line #9** The output grid is the grid associated with the variable named ‘ozone’ in dataset g. Just the grid is retrieved, not the data.\n", + "\n", + "**Line #10** Generates a regridder function regridfunc.\n", + "\n", + "**Line #11** Reads all data for variable cltf, and calls the regridder\n", + "function on that data, resulting in a transient variable cltnew.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "SCRIP Horizontal Regridder\n", + "\n", + "To interpolate between grids where one or both grids is non-rectangular,\n", + "CDMS provides an interface to the SCRIP regridder package developed at\n", + "Los Alamos National Laboratory (https://oceans11.lanl.gov/trac/SCRIP). \n", + "\n", + "Figure 3 illustrates the process:\n", + "\n", + "#. Obtain or generate the source and target grids in SCRIP netCDF\n", + " format. A CDMS grid can be written to a netCDF file, in SCRIP format,\n", + " using the write-ScripGrid method.\n", + "#. Edit the input namelist file scrip\\_in to reference the grids and\n", + " select the method of interpolation, either conservative, bilinear,\n", + " bicubic, or distance-weighted. See the SCRIP documentation for\n", + " detailed instructions.\n", + "#. Run the scrip executable to generate a remapping file containing the\n", + " transformation coefficients.\n", + "#. CDMS, open the remapping file and create a regridder function with\n", + " the readRegridder method.\n", + "#. Call the regridder function on the input variable, defined on the\n", + " source grid. The return value is the variable interpolated to the new\n", + " grid. Note that the variable may have more than two dimensions. Also\n", + " note that the input arguments to the regridder function depend on the\n", + " type of regridder. For example, the bicubic interpolation has\n", + " additional arguments for the gradients of the variable." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Regridding Data with SCRIP\n", + "\n", + "Example:\n", + "\n", + "Regrid data from a T42 to POP4/3 grid, using the first-order, conservative interpolator.\n", + "\n", + "In this example:\n", + "\n", + " The input grid is defined in remap_grid_T42.nc.\n", + " The output grid is defined in remap_grid_POP43.nc.\n", + " The input data is variable src_array in file sampleT42Grid.nc.\n", + " The file scrip_in has contents:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m &remap_inputs\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "&remap_inputs\n", + "num_maps = 1\n", + "\n", + "grid1_file = 'remap_grid_T42.nc'\n", + "grid2_file = 'remap_grid_POP43.nc'\n", + "interp_file1 = 'rmp_T42_to_POP43_conserv.nc'\n", + "interp_file2 = 'rmp_POP43_to_T42_conserv.nc'\n", + "map1_name = 'T42 to POP43 Conservative Mapping'\n", + "map2_name = 'POP43 to T42 Conservative Mapping'\n", + "map_method = 'conservative'\n", + "normalize_opt = 'frac'\n", + "output_opt = 'scrip'\n", + "restrict_type = 'latitude'\n", + "num_srch_bins = 90\n", + "luse_grid1_area = .false.\n", + "luse_grid2_area = .false." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "num_maps specifies the number of mappings generated, either 1 or 2. For a single mapping, grid1_file and grid2_file are the source and target grid definitions, respectively. The map_method specifies the type of interpolation, either ‘conservative’, ‘bilinear’, ‘bicubic’, or ‘distwgt’ (distanceweighted). The remaining parameters are described in the SCRIP documentation.\n", + "\n", + "Once the grids and input file are defined, run the scrip executable to generate the remapping file ‘rmp_T42_to_POP43_conserv.nc’" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 2)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m2\u001b[0m\n\u001b[0;31m Using latitude bins to restrict search.\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "% scrip\n", + "Using latitude bins to restrict search.\n", + " Computing remappings between:\n", + "T42 Gaussian Grid\n", + " and\n", + "POP 4/3 Displaced-Pole T grid\n", + "grid1 sweep\n", + "grid2 sweep\n", + "Total number of links = 63112" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, run CDAT and create the regridder:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "ename": "CDMSError", + "evalue": "Cannot open file /export/reshel3/cdms/rmp_T42_to_POP43_conserv.nc (No error)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mCDMSError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mregrid2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;31m# Read the regridder from the remapper file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m \u001b[0mremapf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'rmp_T42_to_POP43_conserv.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 10\u001b[0m \u001b[0mregridf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mregrid2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadRegridder\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mremapf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0mremapf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36mopenDataset\u001b[0;34m(uri, mode, template, dods, dpath, hostObj)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[0;31m# rank\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 495\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexists\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 496\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mCdmsFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmpiBarrier\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mCdMpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 497\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"w\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path, mode, hostObj, mpiBarrier)\u001b[0m\n\u001b[1;32m 1276\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCdunif\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCdunifFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1277\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1278\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mCDMSError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cannot open file %s (%s)'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1279\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;31m# Cdunif file object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1280\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mCDMSError\u001b[0m: Cannot open file /export/reshel3/cdms/rmp_T42_to_POP43_conserv.nc (No error)" + ] + } + ], + "source": [ + "# wget \"http://cdat.llnl.gov/cdat/sample_data/remap_grid_POP43.nc\"\n", + "# wget \"http://cdat.llnl.gov/cdat/sample_data/remap_grid_T42.nc\"\n", + "# wget \"http://cdat.llnl.gov/cdat/sample_data/rmp_POP43_to_T42_conserv.nc\"\n", + "# wget \"http://cdat.llnl.gov/cdat/sample_data/rmp_T42_to_POP43_conserv.nc\"\n", + "# wget \"http://cdat.llnl.gov/cdat/sample_data/xieArkin-T42.nc\"\n", + "# Import regrid package for regridder functions\n", + "import regrid2, cdms2\n", + "# Read the regridder from the remapper file\n", + "remapf = cdms2.open('rmp_T42_to_POP43_conserv.nc')\n", + "regridf = regrid2.readRegridder(remapf)\n", + "remapf.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then read the input data and regrid:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "ename": "CDMSError", + "evalue": "Cannot open file /export/reshel3/cdms/xieArkin-T42.nc (No error)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mCDMSError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Get the source variable\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'xieArkin-T42.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mt42prc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'prc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;31m# Regrid the source variable\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36mopenDataset\u001b[0;34m(uri, mode, template, dods, dpath, hostObj)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[0;31m# rank\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 495\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexists\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 496\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mCdmsFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmpiBarrier\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mCdMpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 497\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"w\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path, mode, hostObj, mpiBarrier)\u001b[0m\n\u001b[1;32m 1276\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCdunif\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCdunifFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1277\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1278\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mCDMSError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cannot open file %s (%s)'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1279\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;31m# Cdunif file object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1280\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mCDMSError\u001b[0m: Cannot open file /export/reshel3/cdms/xieArkin-T42.nc (No error)" + ] + } + ], + "source": [ + "# Get the source variable\n", + "f = cdms2.open('xieArkin-T42.nc')\n", + "t42prc = f('prc')\n", + "f.close()\n", + "# Regrid the source variable\n", + "popdat = regridf(t42prc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that ``t42dat`` can have rank greater than 2. The trailing\n", + "dimensions must match the input grid shape. For example, if ``t42dat``\n", + "has shape (12, 64, 128), then the input grid must have shape (64,128).\n", + "Similarly if the variable had a generic grid with shape (8092,), the\n", + "last dimension of the variable would have length 8092." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Pressure-Level Regridder\n", + "\n", + "To regrid a variable which is a function of latitude, longitude,\n", + "pressure level, and (optionally) time to a new set of pressure levels,\n", + "use the ``pressureRegrid`` function defined for variables. This function\n", + "takes an axis representing the target set of pressure levels, and\n", + "returns a new variable ``d`` regridded to that dimension." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--2018-08-15 09:11:24-- https://cdat.llnl.gov/cdat/sample_data/ta_ncep_87-6-88-4.nc\n", + "Resolving cdat.llnl.gov... 198.128.245.146\n", + "Connecting to cdat.llnl.gov|198.128.245.146|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 7868676 (7.5M) [application/x-netcdf]\n", + "Saving to: “ta_ncep_87-6-88-4.nc”\n", + "\n", + "100%[======================================>] 7,868,676 --.-K/s in 0.07s \n", + "\n", + "2018-08-15 09:11:24 (106 MB/s) - “ta_ncep_87-6-88-4.nc” saved [7868676/7868676]\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "(11, 1, 73, 144)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "!wget \"https://cdat.llnl.gov/cdat/sample_data/ta_ncep_87-6-88-4.nc\"\n", + "f=cdms2.open(\"ta_ncep_87-6-88-4.nc\")\n", + "ta=f('ta')\n", + "ta.shape\n", + "(11, 17, 73, 144)\n", + "ta.getAxisIds()\n", + "['time', 'level', 'latitude', 'longitude']\n", + "result = ta.pressureRegrid(cdms2.createAxis([1000.0]))\n", + "result.shape\n", + "(11, 1, 73, 144)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cross-Section Regridder\n", + "\n", + "To regrid a variable which is a function of latitude, height, and\n", + "(optionally) time to a new latitude/height cross-section, use the\n", + "``crossSectionRegridder`` defined for variables. This function takes as\n", + "arguments the new latitudes and heights, and returns the variable\n", + "regridded to those axes." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "ename": "CDMSError", + "evalue": "Cannot open file /export/reshel3/cdms/ta_ncep_87-6-88-4.nc (No error)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mCDMSError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# wget \"http://cdat.llnl.gov/cdat/sample_data/ta_ncep_87-6-88-4.nc\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mf\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"ta_ncep_87-6-88-4.nc\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mta\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'ta'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mta\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36mopenDataset\u001b[0;34m(uri, mode, template, dods, dpath, hostObj)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[0;31m# rank\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 495\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexists\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 496\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mCdmsFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmpiBarrier\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mCdMpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 497\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"w\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path, mode, hostObj, mpiBarrier)\u001b[0m\n\u001b[1;32m 1276\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCdunif\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCdunifFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1277\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1278\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mCDMSError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cannot open file %s (%s)'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1279\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;31m# Cdunif file object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1280\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mCDMSError\u001b[0m: Cannot open file /export/reshel3/cdms/ta_ncep_87-6-88-4.nc (No error)" + ] + } + ], + "source": [ + "# wget \"http://cdat.llnl.gov/cdat/sample_data/ta_ncep_87-6-88-4.nc\"\n", + "f=cdms2.open(\"ta_ncep_87-6-88-4.nc\")\n", + "ta=f('ta')\n", + "ta.shape\n", + "\n", + "levOut=cdms2.createAxis([1000.0,950.])\n", + "levOut.designateLevel()\n", + "latOut=cdms2.createAxis(ta.getLatitude()[10:20])\n", + "latOut.designateLatitude()\n", + "ta0 = ta[0,:]\n", + "ta0.getAxisIds()\n", + "\n", + "taout = ta0.crossSectionRegrid(levOut, latOut)\n", + "taout.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Regrid Module\n", + "\n", + "The ``regrid`` module implements the CDMS regridding functionality as\n", + "well as the SCRIP interface. Although this module is not strictly a part\n", + "of CDMS, it is designed to work with CDMS objects." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CDMS Regridder Constructor\n", + "\n", + " \"``regridFunction = Regridder(inputGrid, outputGrid)``\", \"Create a regridder function which interpolates a data array from input to output grid.\n", + " * `CDMS regridder functions`_ describes the calling sequence of this function.\n", + " * ``inputGrid`` and ``outputGrid`` are CDMS grid objects.\n", + " **Note:** To set the mask associated with inputGrid or outputGrid, use the grid setMask function.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "SCRIP Regridder\n", + "\n", + "SCRIP regridder functions are created with the ``regrid.readRegridder``\n", + "function:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "SCRIP Regridder Constructor\n", + "\n", + " \"``regridFunction = regrid.readRegridder(fileobj, mapMethod=None, checkGrid=1)``\", \"Read a regridder from an open CDMS file object.\n", + " * ``fileobj`` is a CDMS file object, as returned from ``cdms.open``.\n", + " * ``mapMethod`` is one of:\n", + " * ``'conservative'``: conservative remapper, suitable where area-integrated fields such as water or heat fluxes must be conserved.\n", + " * ``'bilinear'``: bilinear interpolation\n", + " * ``'bicubic'``: bicubic interpolation\n", + " * ``'distwgt'``: distance-weighted interpolation.\n", + " * It is only necessary to specify the map method if it is not defined in the file.\n", + " * If ``checkGrid`` is 1 (default), the grid cells are checked for convexity, and 'repaired' if necessary. Grid cells may appear to be nonconvex if they cross a ``0 / 2pi`` boundary. The repair consists of shifting the cell vertices to the same side modulo 360 degrees.\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Regridder Functions\n", + "\n", + "It is only necessary to specify the map method if it is not defined in\n", + "the file.\n", + "\n", + "If ``checkGrid`` is 1 (default), the grid cells are checked for\n", + "convexity, and ‘repaired’ if necessary. Grid cells may appear to be\n", + "nonconvex if they cross a ``0 / 2pi`` boundary. The repair consists of\n", + "shifting the cell vertices to the same side modulo 360 degrees." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_`CDMS Regridder Functions`\n", + "\n", + "A CDMS regridder function is an instance of the CDMS ``Regridder``\n", + "class. The function is associated with rectangular input and output\n", + "grids. Typically its use is straightforward: the function is passed an\n", + "input array and returns the regridded array. However, when the array has\n", + "missing data, or the input and/or output grids are masked, the logic\n", + "becomes more complicated.\n", + "\n", + "Step 1\n", + "~~~~~~\n", + "\n", + "The regridder function first forms an input mask. This mask is either\n", + "two-dimensional or n-dimensional, depending on the rank of the\n", + "user-supplied mask. If no mask or missing value is specified, the mask\n", + "is obtained from the data array mask if present.\n", + "\n", + "**Two-dimensional case:**\n", + "\n", + "- Let mask\\_1 be the two-dimensional user mask supplied via the mask\n", + " argument, or the mask of the input grid if no user mask is specified.\n", + "- If a missing-data value is specified via the missing argument, let\n", + " the implicit\\_mask be the two-dimensional mask defined as 0 where the\n", + " first horizontal slice of the input array is missing, 1 elsewhere.\n", + "- The input mask is the logical AND(mask\\_1, implicit\\_mask)\n", + "\n", + "**N-dimensional case:**\n", + "\n", + "- If the user mask is 3 or 4-dimensional with the same shape as the\n", + " input array, it is used as the input mask.\n", + "\n", + "Step 2\n", + "~~~~~~\n", + "\n", + "The data is then regridded. In the two-dimensional case, the input mask\n", + "is ‘broadcast’ across the other dimensions of the array. In other words,\n", + "it assumes that all horizontal slices of the array have the same mask.\n", + "The result is a new array, defined on the output grid. Optionally, the\n", + "regridder function can also return an array having the same shape as the\n", + "output array, defining the fractional area of the output array which\n", + "overlaps a non-missing input grid cell. This is useful for calculating\n", + "area-weighted means of masked data.\n", + "\n", + "Step 3\n", + "~~~~~~\n", + "\n", + "Finally, if the output grid has a mask, it is applied to the result\n", + "array. Where the output mask is 0, data values are set to the missing\n", + "data value, or 1.0e20 if undefined. The result array or transient\n", + "variable will have a mask value of 1 (invalid value) for those output\n", + "grid cells which completely overlap input grid cells with missing values" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CDMS Regridder Function Types\n", + "\n", + "\"Array or Transient-Variable\", \"``regridFunction(array, missing=None, order=None, mask=None)``\", \"Interpolate a gridded data array to a new grid. The interpolation preserves the area-weighted mean on each horizontal slice.\n", + " * If array is a Variable, a TransientVariable of the same rank as the input array is returned, otherwise a masked array is returned.\n", + " * ``array`` is a Variable, masked array, or Numpy array of rank 2, 3, or 4. * For example, the string 'tzyx' indicates that the dimension order of ``array`` is (time, level, latitude, longitude). If unspecified, the function assumes that the last two dimensions of ``array`` match the input grid.\n", + " * ``missing`` is a Float specifying the missing data value. The default is 1.0e20.\n", + " * ``order`` is a string indicating the order of dimensions of the array. It has the form returned from ``variable.getOrder().``\n", + " * ``mask`` is a Numpy array, of datatype Integer or Float, consisting of a fractional number between 0 and 1.\n", + " * A value of 1 or 1.0 indicates that the corresponding data value is to be ignored for purposes of regridding.\n", + " * A value of 0 or 0.0 indicates that the corresponding data value is valid. This is consistent with the convention for masks used by the MV2 module.\n", + " * A fractional value between 0.0 and 1.0 indicates the fraction of the data value (e.g., the corresponding cell) to be ignored when regridding. This is useful if a variable is regridded first to grid A and then to another grid B; the mask when regridding from A to B would be (1.0 - f) where f is the maskArray returned from the initial grid operation using the ``returnTuple`` argument.\n", + " * If ``mask`` is two-dimensional of the same shape as the input grid, it overrides the mask of the input grid.\n", + " * If the mask has more than two dimensions, it must have the same shape as ``array``. In this case, the ``missing`` data value is also ignored. Such an ndimensional mask is useful if the pattern of missing data varies with level (e.g., ocean data) or time.\n", + " **Note:** If neither ``missing`` or ``mask`` is set, the default mask is obtained from the mask of the array if any.\"\n", + " \"Array, Array\", \"``regridFunction(ar, missing=None, order=None, mask=None, returnTuple=1)``\", \"If called with the optional ``returnTuple`` argument equal to 1, the function returns a tuple ``dataArray``, ``maskArray``).\n", + " * ``dataArray`` is the result data array.\n", + " * ``maskArray`` is a Float32 array of the same shape as ``dataArray``, such that ``maskArray[i,j]`` is fraction of the output grid cell [i,j] overlapping a non-missing cell of the grid.\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "SCRIP Regridder Functions\n", + "\n", + "A SCRIP regridder function is an instance of the ScripRegridder class.\n", + "Such a function is created by calling the regrid.readRegridder method.\n", + "Typical usage is straightforward:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "ename": "CDMSError", + "evalue": "Cannot open file /export/reshel3/cdms/rmp_T42_to_POP43_conserv.nc (No error)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mCDMSError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mregrid2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mremapf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'rmp_T42_to_POP43_conserv.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mregridf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mregrid2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadRegridder\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mremapf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'xieArkin-T42.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36mopenDataset\u001b[0;34m(uri, mode, template, dods, dpath, hostObj)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[0;31m# rank\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 495\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexists\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 496\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mCdmsFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmpiBarrier\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mCdMpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 497\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"w\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path, mode, hostObj, mpiBarrier)\u001b[0m\n\u001b[1;32m 1276\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCdunif\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCdunifFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1277\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1278\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mCDMSError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cannot open file %s (%s)'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1279\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;31m# Cdunif file object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1280\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mCDMSError\u001b[0m: Cannot open file /export/reshel3/cdms/rmp_T42_to_POP43_conserv.nc (No error)" + ] + } + ], + "source": [ + "import cdms2\n", + "import regrid2\n", + "remapf = cdms2.open('rmp_T42_to_POP43_conserv.nc')\n", + "regridf = regrid2.readRegridder(remapf)\n", + "f = cdms2.open('xieArkin-T42.nc')\n", + "t42prc = f('prc')\n", + "f.close()\n", + "# Regrid the source variable\n", + "popdat = regridf(t42prc)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The bicubic regridder takes four arguments:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# outdat = regridf(t42prc, gradlat, gradlon, gradlatlon)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A regridder function also has associated methods to retrieve the\n", + "following fields:\n", + "\n", + "- Input grid\n", + "- Output grid\n", + "- Source fraction: the fraction of each source (input) grid cell\n", + " participating in the interpolation.\n", + "- Destination fraction: the fraction of each destination (output) grid\n", + " cell participating in the interpolation.\n", + "\n", + "In addition, a conservative regridder has the associated grid cell areas\n", + "for source and target grids." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "SCRIP Regridder Function Types\n", + "\n", + "\"Array or Transient-Variable\", \"[conservative, bilinear, and distance-weighted regridders] ``regridFunction(array)``\", \"Interpolate a gridded data array to a new grid. The return value is the regridded data variable.\n", + " * ``array`` is a Variable, MaskedArray, or Numpy array. The rank of the array may be greater than the rank of the input grid, in which case the input grid shape must match a trailing portion of the array shape. \n", + " * For example, if the input grid is curvilinear with shape (64,128), the last two dimensions of the array must match. Similarly, if the input grid is generic with shape (2560,), the last dimension of the array must have that length.\"\n", + " \"Array or Transient-Variable\", \"[bicubic regridders] ``regridFunction(array, gradientLat, gradientLon, gradientLatLon)``\", \"Interpolate a gridded data array to a new grid, using a bicubic regridder. The return value is the regridded data variable.\n", + " * ``array`` is a Variable, MaskedArray, or Numpy array. The rank of the array may be greater than the rank of the input grid, in which case the input grid shape must match a trailing portion of the array shape.\n", + " * For example, if the input grid is curvilinear with shape (64,128), the last two dimensions of the array must match. Simiarly, if the input grid is generic with shape (2560,), the last dimension of the array must have that length.\n", + " * ``gradientLat``: df/di (see the SCRIP documentation). Same shape as ``array``.\n", + " * ``gradientLon``: df/dj. Same shape as ``array``.\n", + " * ``gradientLatLon``: d(df)/(di)(dj). Same shape as array.\"\n", + " \"Numpy array\", \"``getDestinationArea()`` [conservative regridders only]\", \"Return the area of the destination (output) grid cell. \n", + " * The array is 1-D, with length equal to the number of cells in the output grid.\"\n", + " \"Numpy array\", \"``getDestinationFraction()``\", \"Return the area fraction of the destination (output) grid cell that participates in the regridding.\n", + " * The array is 1-D, with length equal to the number of cells in the output grid.\"\n", + " \"CurveGrid or Generic-Grid\", \"``getInputGrid()``\", \"Return the input grid, or None if no input grid is associated with the regridder.\"\n", + " \"CurveGrid or Generic-Grid\", \"``getOutputGrid()``\", \"Return the output grid.\"\n", + " \"Numpy array\", \"``getSourceFraction()``\", \"Return the area fraction of the source (input) grid cell that participates in the regridding.\n", + " * The array is 1-D, with length equal to the number of cells in the input grid\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Examples\n", + "\n", + "\n", + "CDMS Regridder\n", + "\n", + "\n", + "**Example:**\n", + "\n", + "Regrid data to a uniform output grid." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "import cdms2\n", + "from regrid2 import Regridder\n", + "f = cdms2.open('clt.nc')\n", + "cltf = f.variables['clt']\n", + "ingrid = cltf.getGrid()\n", + "outgrid = cdms2.createUniformGrid(90.0, 46, -4.0, 0.0, 72, 5.0)\n", + "regridFunc = Regridder(ingrid, outgrid)\n", + "newrls = regridFunc(cltf)\n", + "f.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Regridder Constructures\n", + "\n", + " \"3\", \"Open a netCDF file for input.\"\n", + " \"6\", \"Create a 4 x 5 degree output grid. Note that this grid is not associated with a file or dataset.\"\n", + " \"7\", \"Create the regridder function.\"\n", + " \"8\", \"Read all data and regrid. The missing data value is obtained from variable rlsf\"\n", + "\n", + "Return the area fraction of the source (input) grid cell that\n", + "participates in the regridding. The array is 1-D, with length equal to\n", + "the number of cells in the input grid.\n", + "\n", + "**Example:**\n", + "\n", + "Get a mask from a separate file, and set as the input grid mask." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# wget http://cdat.llnl.gov/cdat/sample_data/clt.nc\n", + "# wget http://cdat.llnl.gov/cdat/sample_data/geos5-sample.nc\n", + "import cdms2\n", + "from regrid2 import Regridder\n", + "#\n", + "f = cdms2.open('clt.nc')\n", + "cltf = f.variables['clt']\n", + "outgrid = cltf.getGrid()\n", + "g = cdms2.open('geos5-sample.nc')\n", + "ozoneg = g.variables['ozone']\n", + "ingrid = ozoneg.getGrid()\n", + "regridFunc = Regridder(ingrid,outgrid)\n", + "uwmaskvar = g.variables['uwnd']\n", + "uwmask = uwmaskvar[:]<0\n", + "outArray = regridFunc(ozoneg.subSlice(time=0),mask=uwmask)\n", + "f.close()\n", + "g.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \"7\", \"Get the input grid.\"\n", + " \"10\", \"Get the output grid.\"\n", + " \"11\", \"Create the regridder function.\"\n", + " \"14\", \"Get the mask.\"\n", + " \"15\", \"Regrid with a user mask. The subslice call returns a transient variable corresponding to variable sof at time 0.\"\n", + "\n", + "\n", + "**Note:** Although it cannot be determined from the code, both mask and\n", + "the input array sof are four-dimensional. This is the n-dimensional\n", + "case.\n", + "\n", + "\n", + "**Example:**\n", + "\n", + "Generate an array of zonal mean values." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m f = cdms.open(‘rls_ccc_per.nc’)\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "f = cdms.open(‘rls_ccc_per.nc’)\n", + "rlsf = f.variables[‘rls’]\n", + "ingrid = rlsf.getGrid()\n", + "outgrid = cdms.createZonalGrid(ingrid)\n", + "regridFunc = Regridder(ingrid,outgrid)\n", + "mean = regridFunc(rlsf)\n", + "f.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \"3\", \"Get the input grid. Return the area fraction of the source (input) grid cell that participates in the regridding. The array is 1-D, with length equal to the number of cells in the input grid.\"\n", + " \"4\", \"Create a zonal grid. outgrid has the same latitudes as ingrid, and a singleton longitude dimension. createGlobalMeanGrid could be used here to generate a global mean array.\"\n", + " \"5\", \"Generate the regridder function.\"\n", + " \"6\", \"Generate the zonal mean array.\"\n", + "\n", + "\n", + "**Example:**\n", + "\n", + "Regrid an array with missing data, and calculate the area-weighted mean\n", + "of the result." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "ename": "CDMSError", + "evalue": "Cannot open file /export/reshel3/cdms/ta_ncep_87-6-88-4.nc (No error)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mCDMSError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMV2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mregrid2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mRegridder\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"ta_ncep_87-6-88-4.nc\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0mvar\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'ta'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0moutgrid\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreateUniformGrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m90.0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m46\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m4.0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0.0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m72\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m5.0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36mopenDataset\u001b[0;34m(uri, mode, template, dods, dpath, hostObj)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[0;31m# rank\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 495\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexists\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 496\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mCdmsFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmpiBarrier\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mCdMpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 497\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"w\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path, mode, hostObj, mpiBarrier)\u001b[0m\n\u001b[1;32m 1276\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCdunif\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCdunifFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1277\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1278\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mCDMSError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cannot open file %s (%s)'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1279\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;31m# Cdunif file object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1280\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mCDMSError\u001b[0m: Cannot open file /export/reshel3/cdms/ta_ncep_87-6-88-4.nc (No error)" + ] + } + ], + "source": [ + "import cdms2\n", + "from cdms2.MV2 import *\n", + "from regrid2 import Regridder\n", + "f = cdms2.open(\"ta_ncep_87-6-88-4.nc\")\n", + "var = f('ta')\n", + "outgrid = cdms2.createUniformGrid(90.0, 46, -4.0, 0.0, 72, 5.0)\n", + "outlatw, outlonw = outgrid.getWeights()\n", + "outweights = outerproduct(outlatw, outlonw)\n", + "grid = var.getGrid()\n", + "sample = var[0,0]\n", + "latw, lonw = grid.getWeights()\n", + "weights = outerproduct(latw, lonw)\n", + "inmask = where(greater(absolute(sample),1.e15),0,1)\n", + "mean = add.reduce(ravel(inmask*weights*sample))/add.reduce(ravel(inmask*weights))\n", + "regridFunc = Regridder(grid, outgrid)\n", + "outsample, outmask = regridFunc(sample, mask=inmask, returnTuple=1)\n", + "outmean = add.reduce(ravel(outmask*outweights*outsample)) / add.reduce(ravel(outmask*outweights))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \"2\", \"Create a uniform target grid.\"\n", + " \"3\", \"Get the latitude and longitude weights.\"\n", + " \"4\", \"Generate a 2-D weights array.\"\n", + " \"5\", \"Get the input grid. ``var`` is a 4-D variable.\"\n", + " \"6\", \"Get the first horizontal slice from ``var``.\"\n", + " \"7-8\", \"Get the input weights, and generate a 2-D weights array.\"\n", + " \"9\", \"Set the 2-D input mask.\"\n", + " \"10\", \"Calculate the input array area-weighted mean.\"\n", + " \"11\", \"Create the regridder function.\"\n", + " \"12\", \"Regrid. Because returnTuple is set to 1, the result is a tuple (dataArray, maskArray).\"\n", + " \"13\", \"Calculate the area-weighted mean of the regridded data. mean and outmean should be approximately equal.\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "SCRIP Regridder\n", + "\n", + "**Example:**\n", + "\n", + "Regrid from a curvilinear to a generic grid, using a conservative\n", + "remapping. Compute the area-weighted means on input and output for\n", + "comparison." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "ename": "CDMSError", + "evalue": "Cannot open file /export/reshel3/cdms/rmp_T42_to_C02562_conserv.nc (No error)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mCDMSError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mregrid2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mMV2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;31m# Open the SCRIP remapping file and data file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mfremap\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'rmp_T42_to_C02562_conserv.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0mfdat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcdms2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'xieArkin-T42.nc'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;31m# Input data array\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36mopenDataset\u001b[0;34m(uri, mode, template, dods, dpath, hostObj)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[0;31m# rank\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 495\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexists\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 496\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mCdmsFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmpiBarrier\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mCdMpi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 497\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mmode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"w\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/cdms2/dataset.pyc\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, path, mode, hostObj, mpiBarrier)\u001b[0m\n\u001b[1;32m 1276\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mCdunif\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCdunifFile\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1277\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1278\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mCDMSError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cannot open file %s (%s)'\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1279\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_file_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_fileobj_\u001b[0m \u001b[0;31m# Cdunif file object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1280\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvariables\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mCDMSError\u001b[0m: Cannot open file /export/reshel3/cdms/rmp_T42_to_C02562_conserv.nc (No error)" + ] + } + ], + "source": [ + "# wget \"http://cdat.llnl.gov/cdat/sample_data/remap_grid_T42.nc\"\n", + "# wget http://cdat.llnl.gov/cdat/sample_data/rmp_T42_to_C02562_conserv.nc\n", + "# wget \"http://cdat.llnl.gov/cdat/sample_data/xieArkin-T42.nc\"\n", + "import cdms2, regrid2, MV2\n", + "# Open the SCRIP remapping file and data file\n", + "fremap = cdms2.open('rmp_T42_to_C02562_conserv.nc')\n", + "fdat = cdms2.open('xieArkin-T42.nc')\n", + "# Input data array\n", + "dat = fdat('prc')[0,:]\n", + "# Read the SCRIP regridder\n", + "regridf = regrid2.readRegridder(fremap)\n", + "# Regrid the variable\n", + "outdat = regridf(dat)\n", + "# Get the cell area and fraction arrays. Areas are computed only\n", + "# for conservative regridding.\n", + "srcfrac = regridf.getSourceFraction()\n", + "srcarea = regridf.getSourceArea()\n", + "dstfrac = regridf.getDestinationFraction()\n", + "dstarea = regridf.getDestinationArea()\n", + "# calculate area-weighted means\n", + "inmean = MV2.sum(srcfrac*srcarea*MV2.ravel(dat)) / MV2.sum(srcfrac*srcarea)\n", + "outmean = MV2.sum(dstfrac*dstarea*MV2.ravel(outdat)) / MV2.sum(dstfrac*dstarea)\n", + "print 'Input mean:', inmean\n", + "\n", + "print 'Output mean:', outmean\n", + "\n", + "fremap.close()\n", + "fdat.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.15" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/chapter5.ipynb b/chapter5.ipynb new file mode 100644 index 00000000..24795474 --- /dev/null +++ b/chapter5.ipynb @@ -0,0 +1,339 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Plotting CDMS data in Python" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Overview\n", + "~~~~~~~~\n", + "\n", + "Data read via the CDMS Python interface can be plotted using the ``vcs``\n", + "module. This module, part of the Climate Data\n", + "Analysis Tool (CDAT) is documented in the CDAT reference manual.\n", + "The ``vcs`` module provides access to the functionality of the VCS\n", + "visualization program.\n", + "\n", + "Examples of plotting data accessed from CDMS are given below, as well as\n", + "documentation for the plot routine keywords.\n", + "\n", + "Examples\n", + "~~~~~~~~\n", + "\n", + "In the following examples, it is assumed that variable ``psl`` is\n", + "dimensioned (time, latitude, longitude). ``psl`` is contained in the\n", + "dataset named ``'sample.xml'``." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plotting a Gridded Variable\n", + "\n", + "Example: plotting a gridded variable" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/numpy/ma/core.py:3169: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n", + " dout = self.data[indx]\n", + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/vtk/util/numpy_support.py:135: FutureWarning: Conversion of the second argument of issubdtype from `complex` to `np.complexfloating` is deprecated. In future, it will be treated as `np.complex128 == np.dtype(complex).type`.\n", + " assert not numpy.issubdtype(z.dtype, complex), \\\n", + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/numpy/ma/core.py:3201: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n", + " mout = _mask[indx]\n" + ] + } + ], + "source": [ + "import cdms2, vcs \n", + "f = cdms2.open(\"clt.nc\") \n", + "clt = f.variables['clt'] \n", + "sample = clt[0,:] \n", + "w=vcs.init() \n", + "w.plot(sample) \n", + "f.close() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Notes:**\n", + "\n", + " \"3\",\"Get a horizontal slice, for the first time point.\"\n", + " \"4\",\"Create a VCS Canvas ``w``.\" \n", + " \"5\", \"Plot the data. Because sample is a transient variable, it encapsulates all the time, latitude, longitude, and attribute information.\"\n", + " \"7\", \"Close the file. This must be done after the reference to the persistent variable ``ps l``.\"\n", + "\n", + "Thats it! The axis coordinates, variable name, description, units, etc.\n", + "are obtained from variable sample.\n", + "\n", + "What if the units are not explicitly defined for ``clt``, or a different\n", + "description is desired? ``plot`` has a number of other keywords which\n", + "fill in the extra plot information.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using A Plot Keywords" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/vcs/Canvas.py:3792: VCSDeprecationWarning: Deprecation Warning: Keyword 'file_comment' will be removed in the next versionof UV-CDAT.\n", + " \"of UV-CDAT.\" % keyarg, vcs.VCSDeprecationWarning)\n", + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/vcs/Canvas.py:3796: UserWarning: Unrecognized vcs plot keyword: hms, assuming backend (vtk) keyword\n", + " (keyarg, self.backend.type))\n", + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/vcs/Canvas.py:3792: VCSDeprecationWarning: Deprecation Warning: Keyword 'long_name' will be removed in the next versionof UV-CDAT.\n", + " \"of UV-CDAT.\" % keyarg, vcs.VCSDeprecationWarning)\n", + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/vcs/Canvas.py:3796: UserWarning: Unrecognized vcs plot keyword: ymd, assuming backend (vtk) keyword\n", + " (keyarg, self.backend.type))\n", + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/numpy/ma/core.py:3169: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n", + " dout = self.data[indx]\n", + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/vtk/util/numpy_support.py:135: FutureWarning: Conversion of the second argument of issubdtype from `complex` to `np.complexfloating` is deprecated. In future, it will be treated as `np.complex128 == np.dtype(complex).type`.\n", + " assert not numpy.issubdtype(z.dtype, complex), \\\n", + "/export/reshel3/anaconda52/envs/cdms2/lib/python2.7/site-packages/numpy/ma/core.py:3201: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n", + " mout = _mask[indx]\n" + ] + } + ], + "source": [ + "import cdms2, vcs\n", + "f = cdms2.open(\"clt.nc\")\n", + "clt = f.variables['clt']\n", + "sample = clt[0,:]\n", + "w=vcs.init()\n", + "w.plot(sample, units='percent', file_comment='', long_name=\"Total Cloud\", comment1=\"Example plot\", hms=\"00:00:00\", ymd=\"1979/01/01\")\n", + "\n", + "f.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note:** Keyword arguments can be listed in any order." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plotting a Time-Latitude Slice\n", + "\n", + "Assuming that variable ``clt`` has domain ``(time,latitude,longitude)``,\n", + "this example selects and plots a time-latitude slice:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAy4AAAJeCAIAAADdhMaJAAAFsUlEQVR4Xu3BMQEAAADCoPVPbQdvoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAxmFQAAQLiEWwAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import cdms2, vcs\n", + "f = cdms2.open(\"clt.nc\")\n", + "clt = f.variables['clt']\n", + "samp = clt[:,:,0]\n", + "w = vcs.init()\n", + "w.plot(samp, name='Total Cloudiness')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " \"4\", \"``samp`` is a slice of ``clt``, at index ``0`` of the last dimension. Since ``samp`` was obtained from the slice operator, it is a transient variable, which includes the latitude and time information.\"\n", + " \"6\", \"The ``name`` keyword defines the identifier, default is the name found in the file.\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plotting Subsetted Data\n", + "\n", + "Calling the variable ``clt`` as a function reads a subset of the\n", + "variable. The result variable ``samp`` can be plotted directly:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import cdms2, vcs\n", + "f = cdms2.open(\"clt.nc\")\n", + "clt = f.variables['clt']\n", + "samp = clt(time = (0.0,100.0), longitude = 180.0, squeeze=1)\n", + "w = vcs.init()\n", + "w.plot(samp)\n", + "\n", + "f.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plot Method\n", + "\n", + "The ``plot`` method is documented in the CDAT Reference Manual. This\n", + "section augments the documentation with a description of the optional\n", + "keyword arguments. The general form of the plot command is:\n", + "\n", + "``canvas.plot(array [, args] [,key=value [, key=value [, ...] ] ])``\n", + "\n", + "where:\n", + "\n", + "- canvas is a VCS Canvas object, created with the vcs.init method.\n", + "\n", + "- array is a variable, masked array, or Numpy array having between\n", + " two and five dimensions. The last dimensions of the array is termed\n", + " the 'x' dimension, the next-to-last the 'y' dimension, then 'z', 't',\n", + " and 'w'.\n", + " \n", + " - For example, if array is three-dimensional, the axes are\n", + " (z,y,x), and if array is four-dimensional, the axes are (t,z,y,x).\n", + " \n", + " **Note:** that the t dimension need have no connection with time; any \n", + " spatial axis can be mapped to any plot dimension.)\n", + "\n", + " - For a graphics method which is two-dimensional, such as boxfill,\n", + " the y-axis is plotted on the horizontal, and the x-axis on the vertical.\n", + "\n", + " - If array is a gridded variable on a rectangular grid, the plot\n", + " function uses a box-fill graphics method.\n", + "\n", + " - If it is non-rectangular, the meshfill graphics method is used.\n", + "\n", + " **Note:** that some plot keywords apply only to rectangular grids only.\n", + "\n", + "- args are optional positional arguments:\n", + "\n", + " ``args`` := template\\_name, graphics\\_method, graphics\\_name\n", + "\n", + " ``template_name``: the name of the VCS template (e.g., 'AMIP')\n", + "\n", + " ``graphics_method``: the VCS graphics method (boxfill)\n", + "\n", + " ``graphics_name``: the name of the specific graphics method\n", + " ('default')\n", + "\n", + " See the CDAT Reference Manual and VCS Reference Manual for a\n", + " detailed description of these arguments.\n", + "\n", + "- ``key=value``, ... are optional keyword/value pairs, listed in any\n", + " order. These are defined in the table below.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plot Keywords\n", + "\n", + " \"``comment1``\", \"string\", \"Comment plotted above ``file_comment``\"\n", + " \"``comment2``\", \"string\", \"Comment plotted above ``comment1``\"\n", + " \"``comment3``\", \"string\", \"Comment plotted above ``comment2``\"\n", + " \"``continents``\", \"0 or 1\", \"if ``1``, plot continental outlines (default:plot if\n", + " * ``xaxis`` is longitude, \n", + " * ``yaxis`` is latitude -or- ``xname`` is 'longitude' and ``yname`` is 'latitude'\"\n", + " \"``file_comment``\", \"string\", \"Comment, defaults to ``variable.parent.comment``\"\n", + " \"``grid``\", \"CDMS grid object\", \"Grid associated with the data. Defaults to ``variable.getGrid()``\"\n", + " \"``hms``\", \"string\", \"Hour, minute, second\"\n", + " \"``long_name``\", \"string\", \"Descriptive variable name, defaults to ``variable.long_name``.\"\n", + " \"``missing_value``\", \"same type as array\", \"Missing data value, defaults to ``variable.getMissing()``\"\n", + " \"``name``\", \"string\", \"Variable name, defaults to ``variable.id``\"\n", + " \"``time``\", \"cdtime relative or absolute\", \"Time associated with the data.\n", + " **Example:**\n", + " ``cdtime.reltime(30.0, 'days since 1978-1-1').``\"\n", + " \"``units``\", \"string\", \"Data units. Defaults to ``variable.units``\"\n", + " \"``variable``\", \"CDMS variable object\", \"Variable associated with the data. The variable grid must have the same shape as the data array.\"\n", + " \"``xarray`` (``[y|z|t|w]array``)\", \"1-D Numpy array\", \"*Rectangular grids only*.\n", + " * Array of coordinate values, having the same length as the corresponding dimension.\n", + " * Defaults to ``xaxis[:\\] (y|z|t|waxis[:])``\"\n", + " \"``xaxis`` (``[y|z|t|w]axis``)\", \"CDMS axis object\", \"*Rectangular grids only*.\n", + " * Axis object. \n", + " * ``xaxis`` defaults to ``grid.getAxis(0)`` \n", + " * ``yaxis`` defaults to ``grid.getAxis(1)``\"\n", + " \"``xbounds`` (``ybounds``)\", \"2-D Numpy array\", \"*Rectangular grids only*.\n", + " * Boundary array of shape ``(n,2)`` where ``n`` is the axis length.\n", + " * Defaults to ``xaxis.getBounds()``, or ``xaxis.genGenericBounds()``\n", + " * if ``None``, similarly for ``ybounds``.\"\n", + " \"``xname`` (``[y|z|t|w]name``)\", \"string\", \"*Rectangular grids only*. \n", + " * Axis name.\n", + " * Defaults to ``xaxis.id`` (``[y|z|t|w]axis.id``)\"\n", + " \"``xrev`` (``yrev``)\", \"0 or 1\", \"If ``xrev`` (``yrev``) is 1, reverse the direction of the ``x-axis (y-axis)``. \n", + " * Defaults to 0, with the following exceptions:\n", + " * If the ``y-axis`` is latitude, and has decreasing values, ``yrev`` defaults to 1\n", + " * If the ``y-axis`` is a vertical level, and has increasing pressure levels, ``yrev`` defaults to 1.\"\n", + " \"``xunits`` (``[y|z|t|w]units``)\", \"string\", \"*Rectangular grids only*.\n", + " * Axis units.\n", + " * Defaults to ``xaxis.units`` (``[y|z|t|w]axis.units``).\"\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.15" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/ci-support/checkout_merge_commit.sh b/ci-support/checkout_merge_commit.sh old mode 100755 new mode 100644 diff --git a/ci-support/circle.sh b/ci-support/circle.sh old mode 100755 new mode 100644 diff --git a/ci-support/conda_upload.sh b/ci-support/conda_upload.sh old mode 100755 new mode 100644 diff --git a/docs/createRST.sh b/docs/createRST.sh deleted file mode 100755 index f77af08c..00000000 --- a/docs/createRST.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -a=('cdmsobj' 'axis' 'coord' 'grid' 'hgrid' 'avariable' 'sliceut' 'error' 'variable' 'fvariable' 'tvariable' 'dataset' 'database' 'cache' 'selectors' 'MV2' 'convention' 'bindex' 'auxcoord' 'gengrid' 'gsHost' 'gsStaticVariable' 'gsTimeVariable' 'mvBaseWriter' 'mvSphereMesh' 'mvVsWriter' 'mvCdmsRegrid') - -for i in "${a[@]}"; do -echo "creating "$i".rst" -echo "cdms $i -======== - -.. automodule:: cdms2.$i - :members: -" >$i.rst - - -done - diff --git a/docs/environment.yml b/docs/environment.yml new file mode 100644 index 00000000..d98a8754 --- /dev/null +++ b/docs/environment.yml @@ -0,0 +1,109 @@ +name: cdms2 +channels: + - conda-forge + - defaults +dependencies: + - alabaster=0.7.11=py_3 + - asn1crypto=0.24.0=py27_2 + - babel=2.6.0=py_1 + - bzip2=1.0.6=h470a237_2 + - ca-certificates=2018.8.13=ha4d7672_0 + - cdat_info=8.0=py27_0 + - cdms2=3.0.1=py27h6091dcd_1 + - cdtime=3.0=py27h6091dcd_1 + - certifi=2018.8.13=py27_0 + - cffi=1.11.5=py27h5e8e0c9_1 + - chardet=3.0.4=py27_3 + - clapack=3.2.1=0 + - colorama=0.3.9=py_1 + - colorlog=3.1.2=py27_0 + - cryptography=2.3.1=py27hdffb7b8_0 + - cryptography-vectors=2.3.1=py27_0 + - curl=7.61.0=h93b3f91_1 + - distarray=2.12.2=py27_0 + - docutils=0.14=py27_0 + - easydev=0.9.36=py_1 + - enum34=1.1.6=py27_1 + - esmf=7.1.0r=1 + - esmpy=7.1.0r=py27_1 + - future=0.16.0=py27_2 + - g2clib=1.6.0=3 + - hdf4=4.2.13=0 + - hdf5=1.10.1=2 + - idna=2.7=py27_2 + - imagesize=1.0.0=py_1 + - ipaddress=1.0.22=py_1 + - jasper=1.900.1=4 + - jinja2=2.10=py_1 + - jpeg=9c=h470a237_0 + - krb5=1.14.6=0 + - lapack=3.6.1=1 + - libcdms=3.0.1=h9ac9557_2 + - libcf=1.0.1=py27_2 + - libdrs=3.0.1=h6e3784b_3 + - libdrs_f=3.0.1=h2cd7f18_3 + - libffi=3.2.1=hfc679d8_4 + - libgcc=7.2.0=h69d50b8_2 + - libgfortran=3.0.0=1 + - libgfortran-ng=7.2.0=hdf63c60_3 + - libnetcdf=4.6.1=2 + - libpng=1.6.35=ha92aebf_0 + - libssh2=1.8.0=h5b517e9_2 + - libtiff=4.0.9=he6b73bb_1 + - markupsafe=1.0=py27_0 + - mpi=1.0=mpich + - mpich=3.2.1=h26a2512_4 + - ncurses=6.1=hfc679d8_1 + - netcdf-fortran=4.4.4=7 + - numpydoc=0.8.0=py_1 + - openssl=1.0.2o=h470a237_1 + - ossuuid=1.6.2=hfc679d8_0 + - packaging=17.1=py_0 + - pexpect=4.6.0=py27_0 + - ptyprocess=0.6.0=py27_0 + - pycparser=2.18=py_1 + - pygments=2.2.0=py_1 + - pyopenssl=18.0.0=py27_0 + - pyparsing=2.2.0=py_1 + - pysocks=1.6.8=py27_1 + - python=2.7.15=h9fef7bc_0 + - pytz=2018.5=py_0 + - readline=7.0=haf1bffa_1 + - requests=2.19.1=py27_1 + - setuptools=40.0.0=py27_1 + - six=1.11.0=py27_1 + - snowballstemmer=1.2.1=py_1 + - sphinxcontrib-websupport=1.0.1=py27_0 + - sqlite=3.24.0=h2f33b56_0 + - tk=8.6.8=0 + - typing=3.6.4=py27_2 + - urllib3=1.23=py27_1 + - xz=5.2.4=h470a237_1 + - zlib=1.2.11=h470a237_3 + - binutils_impl_linux-64=2.31.1=h6176602_0 + - binutils_linux-64=2.31.1=h6176602_2 + - freetype=2.9.1=h8a8886c_0 + - funcsigs=1.0.2=py27_0 + - gcc_impl_linux-64=7.3.0=habb00fd_0 + - gcc_linux-64=7.3.0=h553295d_2 + - libgcc-ng=8.2.0=hdf63c60_1 + - libopenblas=0.2.20=h9ac9557_7 + - libstdcxx-ng=8.2.0=hdf63c60_1 + - mock=2.0.0=py27_0 + - numpy=1.14.3=py27h28100ab_1 + - numpy-base=1.14.3=py27h0ea5e3f_1 + - olefile=0.45.1=py27_0 + - pbr=4.2.0=py27_0 + - pillow=5.2.0=py27heded4f4_0 + - pip=10.0.1=py27_0 + - sphinx=1.7.6=py27_0 + - sphinx_rtd_theme=0.4.1=py27_0 + - wheel=0.31.1=py27_0 + - pip: + - commonmark==0.5.4 + - mv2==3.0.0 + - readthedocs-sphinx-ext==0.5.14 + - recommonmark==0.4.0 + - regrid2==3.0.0 +prefix: /export/reshel3/anaconda52/envs/cdms2 + diff --git a/docs/generatedRST.py b/docs/generatedRST.py new file mode 100644 index 00000000..86f15622 --- /dev/null +++ b/docs/generatedRST.py @@ -0,0 +1,70 @@ +#!/bin/env python +from inspect import getmembers, isfunction, isclass, ismethod, isbuiltin +import importlib +import sys +import cdms2 +import regrid2 + +def getMember(imported_module): + member_list = [] +# member_list = [o for o in getmembers(imported_module) if isclass(o[1])] + member_list += [o for o in getmembers(imported_module) if isfunction(o[1])] + member_list += [o for o in getmembers(imported_module) if ismethod(o[1]) if o[1].__doc__ is not None] + return member_list + +def RSTwrite(module, memberlist): + if module.find(":") != -1: + currentmodule = ".".join(module.split(":")[:-1]) + else: + currentmodule = module + print currentmodule + auto = ".".join(module.split(":")[1:]) + for member in memberlist: + print member[0] + modulemember = module.replace(":",".") + "." + member[0] + f = open("/tmp/" + modulemember + ".rst", "w") + f.write(module+"\n") + f.write(len(module) * "="+"\n") + f.write("\n") + f.write(".. currentmodule:: " + currentmodule+"\n") + f.write("\n") + if isfunction(member[1]): + if auto == "": + f.write(".. autofunction:: " + member[0]+"\n") + else: + f.write(".. autofunction:: " + auto + "." + member[0]+"\n") + elif isclass(member[1]) and member[0] != "__class__": + f.write(".. autoclass:: " + member[0]+"\n") + sublist = getMember(modulemember) + print modulemember + createRSTfiles([modulemember]) + elif ismethod(member[1]): + f.write(".. automethod:: " + auto+"."+member[0]+"\n") + f.close() + +def createRSTfiles(modules): + for module in modules: + try: + import importlib + m=importlib.import_module(module.replace(":",".")) + except: + m = eval(module.replace(":",".")) + + cdms2_all_list = getMember(m) + print cdms2_all_list + RSTwrite(module, cdms2_all_list) + +if __name__ == "__main__": + + modules = ["regrid2.mvESMFRegrid:ESMFRegrid", "cdms2.mvCdmsRegrid:CdmsRegrid", "cdms2.slabinterface:Slab", "cdms2.hgrid", "cdms2.hgrid:AbstractHorizontalGrid", "cdms2.hgrid.DatasetCurveGrid","cdms2.hgrid.FileCurveGrid", "cdms2.hgrid:TransientCurveGrid","cdms2.hgrid:AbstractCurveGrid", "cdms2.grid:AbstractGrid:hasCoordType", "cdms2.grid:AbstractRectGrid","cdms2.grid:FileRectGrid", "cdms2.grid:TransientRectGrid", "cdms2.grid", "cdms2.grid:AbstractGrid","cdms2.avariable:AbstractVariable","regrid2.horizontal", "regrid2.esmf", "regrid2.esmf:EsmfUnstructGrid","regrid2.esmf:EsmfStructField","regrid2.esmf:EsmfRegrid", "regrid2.esmf:EsmfStructGrid","regrid2.crossSection","regrid2.mvESMFRegrid","regrid2.mvGenericRegrid","regrid2.pressure","regrid2.scrip","regrid2.pressure","regrid2.scrip","regrid2.mvGenericRegrid:GenericRegrid","regrid2.scrip","regrid2.scrip.ScripRegridder","regrid2.scrip.ConservativeRegridder","regrid2.scrip.BilinearRegridder","regrid2.scrip.BicubicRegridder","regrid2.scrip.DistwgtRegridder","regrid2.horizontal","cdms2.forecast:forecasts","cdms2.forecast:forecast","cdms2.forecast","cdms2.database", "cdms2.database:AbstractDatabase","cdms2.database:LDAPDatabase","cdms2.database:AbstractSearchResult","cdms2.database:LDAPSearchResult","cdms2.database:AbstractResultEntry","cdms2.cudsinterface:cuDataset","cdms2.convention", "cdms2.convention:AliasList", "cdms2.convention.AbstractConvention", "cdms2.convention:NUGConvention", "cdms2.convention:COARDSConvention", "cdms2.convention:CFConvention","cdms2.cdxmllib:XMLParser","cdms2.cdurlparse", "cdms2.cache","cdms2.cache:Cache","cdms2.cdurllib:CDURLopener","cdms2.dataset", "cdms2.dataset:Dataset", "cdms2.dataset:CdmsFile", "cdms2.bindex", "MV2", "cdms2.variable", "cdms2.variable:DatasetVariable", "cdms2.fvariable:FileVariable", "cdms2.axis", "cdms2.axis:AbstractAxis", "cdms2.axis:Axis", "cdms2.axis:TransientAxis", "cdms2.axis:TransientVirtualAxis", "cdms2.axis:FileAxis", "cdms2.axis:FileVirtualAxis", "cdms2.tvariable", "cdms2.tvariable:TransientVariable", "cdms2.avariable","cdms2.avariable:AbstractVariable"] + createRSTfiles(modules) + + +#numpy.ndarray.flags + +#=================== +# +#.. currentmodule:: numpy +# +#.. autoattribute:: ndarray.flags + diff --git a/docs/requirements.txt b/docs/requirements.txt index e48f7c2c..cae732c6 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1 +1,3 @@ easydev +mock +future diff --git a/docs/source/API.rst b/docs/source/API.rst new file mode 100644 index 00000000..37e81fde --- /dev/null +++ b/docs/source/API.rst @@ -0,0 +1,71 @@ +API +=== + +.. currentmodule:: cdms2 + +Classes +------- + +.. csv-table:: + :header: "Type", "Constructor" + :widths: 10, 40 + :align: left + + ":ref:`avariable`", "CDMS Variable objects, abstract interface" + ":ref:`axis`", "CDMS Axis objects" + ":ref:`fvariable`", "CDMS File-based variables." + ":ref:`bindex`", "Bin index for non-rectilinear grids" + ":ref:`cache`", "CDMS cache management and file movement objects" + ":ref:`variable`", "DatasetVariable: Dataset-based variables" + ":ref:`cdurllib`", "Customized URLopener" + ":ref:`cdurlparse`", "Parse (absolute and relative) URLs." + ":ref:`cudsinterface`", "Emulation of old cu package" + ":ref:`database`", "CDMS database objects" + ":ref:`dataset`", "CDMS dataset and file objects" + ":ref:`forecast`", "CDMS Forecast" + ":ref:`gengrid`", "CDMS Generic Grids" + ":ref:`grid`", "CDMS Grid objects" + ":ref:`hgrid`", "CDMS HorizontalGrid objects" + ":ref:`MV2`", "CDMS Variable objects, MaskedArray interface" + ":ref:`selectors`", "Classes to support easy selection of climate data" + ":ref:`tvariable`", "TransientVariable (created by createVariable) is a child of both AbstractVariable and the masked array class." + ":ref:`slabinterface`", "Read part of the old cu slab interface implemented over CDMS" + + +Regridder +--------- + +.. currentmodule:: regrid2 + +.. csv-table:: + :header: "Type", "Constructor" + :widths: 10, 40 + :align: left + + ":ref:`horizontal`", "Create a horizontal regridder" + ":ref:`esmf`", "Regrid source grid data to destination grid data using ESMF" + ":ref:`crossSection`", "" + ":ref:`mvESMFRegrid`", "" + ":ref:`mvGenericRegrid`", "" + ":ref:`pressure`", "" + ":ref:`scrip`", "" + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/MV2.rst b/docs/source/MV2.rst new file mode 100644 index 00000000..8c86924f --- /dev/null +++ b/docs/source/MV2.rst @@ -0,0 +1,96 @@ +.. _MV2: + +MV2 +=== + +.. currentmodule:: MV2 + +.. autosummary:: + :toctree: ./generated + + allclose + allequal + arange + argsort + arrayrange + asarray + as_masked + asVariable + average + axisAllclose + axisConcatenate + axisTake + choose + commonAxes + commonDomain + common_fill_value + commonGrid1 + commonGrid + compress + concatenate + count + create_mask + diagonal + dot + filled + fill_value + fromfunction + getmaskarray + getmask + getNumericCompatibility + get_print_limit + get_printoptions + indices + innerproduct + isarray + is_floating + is_integer + isMA + isMaskedArray + is_masked + isMaskedVariable + is_mask + left_shift + make_mask_none + make_mask + masked_array + masked_equal + masked_greater_equal + masked_greater + masked_inside + masked_less_equal + masked_less + masked_not_equal + masked_object + masked_outside + masked_values + masked_where + mask_or + max + min + ones + outerproduct + power + product + putmask + put + rank + repeat + reshape + resize + right_shift + sctype2char + set_default_fill_value + set_fill_value + set_print_limit + set_printoptions + shape + size + sort + squeeze + sum + take + transpose + where + zeros + diff --git a/docs/source/_static/agogo.css_t b/docs/source/_static/agogo.css_t new file mode 100644 index 00000000..52d4f74e --- /dev/null +++ b/docs/source/_static/agogo.css_t @@ -0,0 +1,609 @@ +/* + * agogo.css_t + * ~~~~~~~~~~~ + * + * Sphinx stylesheet -- agogo theme. + * + * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +* { + margin: 0px; + padding: 0px; +} + +table { + border-collapse: collapse; +} + +tr:nth-child(even){background-color: #f2f2f2} + +th { + background-color: #4CAF50; + color: white; +} + +body { + font-family: {{ theme_bodyfont }}; + line-height: 1.4em; + color: black; + background-color: {{ theme_bgcolor }}; +} + + +/* Page layout */ + +div.header, div.content, div.footer { + width: {{ theme_pagewidth }}; + margin-left: auto; + margin-right: auto; +} + +div.header-wrapper { + background: {{ theme_headerbg }}; + border-bottom: 3px solid #2e3436; +} + + +/* Default body styles */ +a { + color: {{ theme_linkcolor }}; +} + +div.bodywrapper a, div.footer a { + text-decoration: underline; +} + +.clearer { + clear: both; +} + +.left { + float: left; +} + +.right { + float: right; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +h1, h2, h3, h4 { + font-family: {{ theme_headerfont }}; + font-weight: normal; + color: {{ theme_headercolor2 }}; + margin-bottom: .8em; +} + +h1 { + color: {{ theme_headercolor1 }}; +} + +h2 { + padding-bottom: .5em; + border-bottom: 1px solid {{ theme_headercolor2 }}; +} + +a.headerlink { + visibility: hidden; + color: #dddddd; + padding-left: .3em; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +* + * Field lists + */ + +dl.class > dt > em { + font-weight: normal; +} + +dl.function > dt > em { + font-weight: normal; +} + +dl.method > dt > em { + font-weight: normal; +} + + +table.field-list { + border-collapse: collapse; + border-spacing: 5px; + margin-left: 1px; + border-left: 5px solid rgb(238, 238, 238) !important; +} + +table.field-list th.field-name { + display: inline-block; + padding: 1px 8px 1px 5px; + white-space: nowrap; + background-color: rgb(238, 238, 238); +} + +table.field-list td.field-body { + border-left: none !important; +} + +table.field-list td.field-body > p { + font-style: italic; +} + +table.field-list td.field-body > p > strong { + font-style: normal; +} + +td.field-body blockquote { + border-left: none; + margin: 0; + padding-left: 30px; +} + +td.field-body blockquote p, +dl.class blockquote p, +dl.function blockquote p, +dl.method blockquote p +{ + font-family: inherit; + font-size: inherit; + font-weight: inherit; + line-height: inherit; +} + + +img { + border: 0; +} + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 2px 7px 1px 7px; + border-left: 0.2em solid black; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +/* Header */ + +div.header { + padding-top: 10px; + padding-bottom: 10px; +} + +div.header .headertitle { + font-family: {{ theme_headerfont }}; + font-weight: normal; + font-size: 180%; + letter-spacing: .08em; + margin-bottom: .8em; +} + +div.header .headertitle a { + color: white; +} + +div.header div.rel { + margin-top: 1em; +} + +div.header div.rel a { + color: {{ theme_headerlinkcolor }}; + letter-spacing: .1em; + text-transform: uppercase; +} + +p.logo { + float: right; +} + +img.logo { + border: 0; +} + + +/* Content */ +div.content-wrapper { + background-color: white; + padding-top: 20px; + padding-bottom: 20px; +} + +div.document { + width: {{ theme_documentwidth }}; + float: left; +} + +div.body { + padding-right: 2em; + text-align: {{ theme_textalign }}; +} + +div.document h1 { + line-height: 120%; +} + +div.document ul { + margin: 1.5em; + list-style-type: square; +} + +div.document dd { + margin-left: 1.2em; + margin-top: .4em; + margin-bottom: 1em; +} + +div.document .section { + margin-top: 1.7em; +} +div.document .section:first-child { + margin-top: 0px; +} + +div.document div.highlight { + padding: 3px; + background-color: #eeeeec; + border-top: 2px solid #dddddd; + border-bottom: 2px solid #dddddd; + margin-top: .8em; + margin-bottom: .8em; +} + +div.document div.literal-block-wrapper { + margin-top: .8em; + margin-bottom: .8em; +} + +div.document div.literal-block-wrapper div.highlight { + margin: 0; +} + +div.document div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.document div.code-block-caption span.caption-text { +} + +div.document h2 { + margin-top: .7em; +} + +div.document p { + margin-bottom: .5em; +} + +div.document li.toctree-l1 { + margin-bottom: 1em; +} + +div.document .descclassname { + font-weight: bold; + font-size: 16px; +} + +div.document .descname { + font-weight: bold; + font-size: 16px; +} + +div.document .sig-paren { + font-size: larger; +} + +div.document .docutils.literal { + background-color: #eeeeec; + padding: 1px; +} + +div.document .docutils.xref.literal { + background-color: transparent; + padding: 0px; +} + +div.document blockquote { + margin: 1em; +} + +div.document ol { + margin: 1.5em; +} + + +/* Sidebar */ + +div.sidebar { + width: {{ theme_sidebarwidth|todim }}; + float: right; + font-size: .9em; +} + +div.sidebar a, div.header a { + text-decoration: none; +} + +div.sidebar a:hover, div.header a:hover { + text-decoration: underline; +} + +div.sidebar h3 { + color: #2e3436; + text-transform: uppercase; + font-size: 130%; + letter-spacing: .1em; +} + +div.sidebar ul { + list-style-type: none; +} + +div.sidebar li.toctree-l1 a { + display: block; + padding: 1px; + border: 1px solid #dddddd; + background-color: #eeeeec; + margin-bottom: .4em; + padding-left: 3px; + color: #2e3436; +} + +div.sidebar li.toctree-l2 a { + background-color: transparent; + border: none; + margin-left: 1em; + border-bottom: 1px solid #dddddd; +} + +div.sidebar li.toctree-l3 a { + background-color: transparent; + border: none; + margin-left: 2em; + border-bottom: 1px solid #dddddd; +} + +div.sidebar li.toctree-l2:last-child a { + border-bottom: none; +} + +div.sidebar li.toctree-l1.current a { + border-right: 5px solid {{ theme_headerlinkcolor }}; +} + +div.sidebar li.toctree-l1.current li.toctree-l2 a { + border-right: none; +} + +div.sidebar input[type="text"] { + width: 170px; +} + +div.sidebar input[type="submit"] { + width: 30px; +} + + +/* Footer */ + +div.footer-wrapper { + background: {{ theme_footerbg }}; + border-top: 4px solid #babdb6; + padding-top: 10px; + padding-bottom: 10px; + min-height: 80px; +} + +div.footer, div.footer a { + color: #888a85; +} + +div.footer .right { + text-align: right; +} + +div.footer .left { + text-transform: uppercase; +} + + +/* Styles copied from basic theme */ + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- viewcode extension ---------------------------------------------------- */ + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family:: {{ theme_bodyfont }}; +} + +div.viewcode-block:target { + margin: -1px -3px; + padding: 0 3px; + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} + +div.code-block-caption { + background-color: #ddd; + color: #333; + padding: 2px 5px; + font-size: small; +} + +/* -- math display ---------------------------------------------------------- */ + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} diff --git a/docs/source/_static/copybutton.js b/docs/source/_static/copybutton.js new file mode 100644 index 00000000..3564e1da --- /dev/null +++ b/docs/source/_static/copybutton.js @@ -0,0 +1,63 @@ +$(document).ready(function() { + /* Add a [>>>] button on the top-right corner of code samples to hide + * the >>> and ... prompts and the output and thus make the code + * copyable. */ + var div = $('.highlight-python .highlight,' + + '.highlight-python3 .highlight' + ) + var pre = div.find('pre'); + + // get the styles from the current theme + pre.parent().parent().css('position', 'relative'); + var hide_text = 'Hide the prompts and output'; + var show_text = 'Show the prompts and output'; + var border_width = pre.css('border-top-width'); + var border_style = pre.css('border-top-style'); + var border_color = pre.css('border-top-color'); + var button_styles = { + 'cursor':'pointer', 'position': 'absolute', 'top': '0', 'right': '0', + 'border-color': border_color, 'border-style': border_style, + 'border-width': border_width, 'color': border_color, 'text-size': '75%', + 'font-family': 'monospace', 'padding-left': '0.2em', 'padding-right': '0.2em', + 'border-radius': '0 3px 0 0' + } + + // create and add the button to all the code blocks that contain >>> + div.each(function(index) { + var jthis = $(this); + if (jthis.find('.gp').length > 0) { + var button = $('>>>'); + button.css(button_styles) + button.attr('title', hide_text); + button.data('hidden', 'false'); + jthis.prepend(button); + } + // tracebacks (.gt) contain bare text elements that need to be + // wrapped in a span to work with .nextUntil() (see later) + jthis.find('pre:has(.gt)').contents().filter(function() { + return ((this.nodeType == 3) && (this.data.trim().length > 0)); + }).wrap(''); + }); + + // define the behavior of the button when it's clicked + $('.copybutton').click(function(e){ + e.preventDefault(); + var button = $(this); + if (button.data('hidden') === 'false') { + // hide the code output + button.parent().find('.go, .gp, .gt').hide(); + button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'hidden'); + button.css('text-decoration', 'line-through'); + button.attr('title', show_text); + button.data('hidden', 'true'); + } else { + // show the code output + button.parent().find('.go, .gp, .gt').show(); + button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'visible'); + button.css('text-decoration', 'none'); + button.attr('title', hide_text); + button.data('hidden', 'false'); + } + }); +}); + diff --git a/docs/source/_static/scipy.css_t b/docs/source/_static/scipy.css_t new file mode 100644 index 00000000..675cefe0 --- /dev/null +++ b/docs/source/_static/scipy.css_t @@ -0,0 +1,283 @@ +/* -*- css -*- + * + * sphinxdoc.css_t + * ~~~~~~~~~~~~~~~ + * + * Sphinx stylesheet -- sphinxdoc theme. Originally created by + * Armin Ronacher for Werkzeug. + * + * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +@import url("basic.css"); + +@import url("css/scipy-central.css"); + + +/* + * General tweaks + */ + +div.container-navbar-bottom { + margin-top: 0; +} + +div.container-navbar-bottom div.spc-navbar { + margin-top: 0; +} + +div.spc-navbar { + margin: 0; +} + +tt { + color: inherit; + font: inherit; +} + +tt.literal { + font-family: monospace; + padding-left: 2px; + background-color: rgb(242, 242, 242); +} + +a tt.literal { + border: none; + background-color: inherit; +} + +tt.xref { + font-family: inherit; + border: none; + background-color: inherit; + font-weight: normal; + padding-left: 0px; +} + +tt.descname { + font-size: 16px; +} + +code { + color: inherit; + font: inherit; + padding: inherit; + border: inherit; +} + +code.literal { + font-family: monospace; + padding-left: 2px; + background-color: rgb(242, 242, 242); +} + +a code.literal { + border: none; + background-color: inherit; +} + +code.xref { + font-family: inherit; + border-bottom: none; + background-color: inherit; + padding-left: 0px; +} + +code.descname { + font-size: 16px; +} + +dl.class > dt > em { + font-weight: normal; +} + +dl.function > dt > em { + font-weight: normal; +} + +dl.method > dt > em { + font-weight: normal; +} + +pre { + border-radius: 0; + border: none; + font-family: monospace; +} + + +/* + * Field lists + */ + +table.field-list { + border-collapse: collapse; + border-spacing: 5px; + margin-left: 1px; + border-left: 5px solid rgb(238, 238, 238) !important; +} + +table.field-list th.field-name { + display: inline-block; + padding: 1px 8px 1px 5px; + white-space: nowrap; + background-color: rgb(238, 238, 238); +} + +table.field-list td.field-body { + border-left: none !important; +} + +table.field-list td.field-body > p { + font-style: italic; +} + +table.field-list td.field-body > p > strong { + font-style: normal; +} + +td.field-body blockquote { + border-left: none; + margin: 0; + padding-left: 30px; +} + +td.field-body blockquote p, +dl.class blockquote p, +dl.function blockquote p, +dl.method blockquote p +{ + font-family: inherit; + font-size: inherit; + font-weight: inherit; + line-height: inherit; +} + + +/* + * Sidebars and top logo + */ + +div.sphinxsidebarwrapper { + overflow: hidden; +} + +div.spc-rightsidebar h3 { + font-size: 120%; + line-height: inherit; + border-bottom: none; +} + +div.spc-rightsidebar h4 { + font-size: 120%; + line-height: inherit; + border-bottom: none; +} + +div.top-scipy-org-logo-header { + text-align: left; + background-color: rgb(140, 170, 230); + border-bottom: 8px solid rgb(0, 51, 153); + margin-top: 10px; + padding: 5px; + box-shadow: 0px 0px 3px rgb(136, 136, 136); +} + + +/* + * Headers + */ + +h1 a { color: rgb(85, 85, 85); } +h2 a { color: rgb(85, 85, 85); } +h3 a { color: rgb(85, 85, 85); } +h4 a { color: rgb(85, 85, 85); } +h5 a { color: rgb(85, 85, 85); } +h6 a { color: rgb(85, 85, 85); } + +h1 tt { font: inherit; border-bottom: none; } +h2 tt { font: inherit; border-bottom: none; } +h3 tt { font: inherit; border-bottom: none; } +h4 tt { font: inherit; border-bottom: none; } +h5 tt { font: inherit; border-bottom: none; } +h6 tt { font: inherit; border-bottom: none; } + +h1 code { font: inherit; border: none; background-color: inherit; padding: inherit; } +h2 code { font: inherit; border: none; background-color: inherit; padding: inherit; } +h3 code { font: inherit; border: none; background-color: inherit; padding: inherit; } +h4 code { font: inherit; border: none; background-color: inherit; padding: inherit; } +h5 code { font: inherit; border: none; background-color: inherit; padding: inherit; } +h6 code { font: inherit; border: none; background-color: inherit; padding: inherit; } + +div#spc-section-body h1 { color: rgb(85, 85, 85); } +div#spc-section-body h2 { color: rgb(85, 85, 85); } +div#spc-section-body h3 { color: rgb(85, 85, 85); } +div#spc-section-body h4 { color: rgb(85, 85, 85); border-bottom: none; } +div#spc-section-body h5 { color: rgb(85, 85, 85); border-bottom: none; } +div#spc-section-body h6 { color: rgb(85, 85, 85); border-bottom: none; } + +p.rubric { + color: rgb(85, 85, 85); + font-size: 120%; + font-weight: normal; + border-bottom: 1px solid rgb(204, 204, 204); +} + + +/* + * Tables + */ + +table.citation { + border: none; +} + +table.docutils td, table.docutils th { + border: none; +} + +table.docutils { + margin-bottom: 9.5px; +} + + +/* + * Admonitions + */ + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +div.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +div.seealso dt { + float: left; + clear: left; + min-width: 4em; + padding-right: 1em; +} + +div.seealso dd { + margin-top: 0; + margin-bottom: 0; +} + +div.warning { + background-color: #ffe4e4; + border: 1px solid #f66; +} + +div.note { + background-color: #eee; + border: 1px solid #ccc; +} diff --git a/docs/source/avariable.rst b/docs/source/avariable.rst new file mode 100644 index 00000000..52b57448 --- /dev/null +++ b/docs/source/avariable.rst @@ -0,0 +1,79 @@ +.. _avariable: + +avariable +========= + +.. currentmodule:: cdms2.avariable + +.. autosummary:: + :toctree: generated/ + + AbstractVariable.assignValue + AbstractVariable.astype + AbstractVariable.__call__ + AbstractVariable.createattribute + AbstractVariable.crossSectionRegrid + AbstractVariable.decode + AbstractVariable.deleteattribute + AbstractVariable.dump + AbstractVariable.expertSlice + AbstractVariable.generateGridkey + AbstractVariable.generateRectGridkey + AbstractVariable.getattribute + AbstractVariable.getAxisIds + AbstractVariable.getAxisIndex + AbstractVariable.getAxisListIndex + AbstractVariable.getAxisList + AbstractVariable.getAxis + AbstractVariable.getConvention + AbstractVariable.getdimattribute + AbstractVariable.getDomain + AbstractVariable.getForecast + AbstractVariable.getForecastTime + AbstractVariable.getGridIndices + AbstractVariable.getGrid + AbstractVariable.getLatitude + AbstractVariable.getLevel + AbstractVariable.getLongitude + AbstractVariable.getMissing + AbstractVariable.getOrder + AbstractVariable.getRegion + AbstractVariable.getSlice + AbstractVariable.getTime + AbstractVariable.getValue + AbstractVariable.hasCellData + AbstractVariable.info + AbstractVariable.isAbstractCoordinate + AbstractVariable.isEncoded + AbstractVariable.listall + AbstractVariable.listattributes + AbstractVariable.listdimattributes + AbstractVariable.listdimnames + AbstractVariable.matchone + AbstractVariable.matchPattern + AbstractVariable.pressureRegrid + AbstractVariable._process_specs + AbstractVariable.rank + AbstractVariable.regrid + AbstractVariable.reg_specs2slices + AbstractVariable.reorder + AbstractVariable.searchone + AbstractVariable.searchPattern + AbstractVariable.searchPredicate + AbstractVariable.select + AbstractVariable.setattribute + AbstractVariable.setGrid + AbstractVariable.setMissing + AbstractVariable.showdim + AbstractVariable.specs2slices + AbstractVariable.squeeze + AbstractVariable.subRegion + AbstractVariable.subSlice + AbstractVariable.typecode + getBoundList + getMinHorizontalMask + getNumericCompatibility + order2index + orderparse + setNumericCompatibility + diff --git a/docs/source/axis.rst b/docs/source/axis.rst new file mode 100644 index 00000000..ab4f1427 --- /dev/null +++ b/docs/source/axis.rst @@ -0,0 +1,159 @@ +.. _axis: + +axis +==== + +.. currentmodule:: cdms2.axis + +.. autosummary:: + :toctree: generated/ + + allclose + axisMatchAxis + axisMatches + axisMatchIndex + concatenate + createAxis + createEqualAreaAxis + createGaussianAxis + createUniformLatitudeAxis + createUniformLongitudeAxis + getAutoBounds + isOverlapVector + isSubsetVector + lookupArray + mapLinearExt + mapLinearIntersection + reverseSlice + setAutoBounds + splitSliceExt + splitSlice + take + AbstractAxis.asComponentTime + AbstractAxis.asdatetime + AbstractAxis.asDTGTime + AbstractAxis.asRelativeTime + AbstractAxis.clone + AbstractAxis.dump + AbstractAxis.getBoundsForDualGrid + AbstractAxis.getBounds + AbstractAxis.getExplicitBounds + AbstractAxis.info + AbstractAxis.isVirtual + AbstractAxis.listall + AbstractAxis.mapIntervalExt + AbstractAxis.mapInterval + AbstractAxis.matchone + AbstractAxis.matchPattern + AbstractAxis.searchone + AbstractAxis.searchPattern + AbstractAxis.searchPredicate + AbstractAxis.subaxis + AbstractAxis.subAxis + AbstractAxis.toRelativeTime + Axis.asComponentTime + Axis.asdatetime + Axis.asDTGTime + Axis.asRelativeTime + Axis.clone + Axis.dump + Axis.getBoundsForDualGrid + Axis.getBounds + Axis.info + Axis.isVirtual + Axis.listall + Axis.mapIntervalExt + Axis.mapInterval + Axis.matchone + Axis.matchPattern + Axis.searchone + Axis.searchPattern + Axis.searchPredicate + Axis.subaxis + Axis.subAxis + Axis.toRelativeTime + FileAxis.asComponentTime + FileAxis.asdatetime + FileAxis.asDTGTime + FileAxis.asRelativeTime + FileAxis.clone + FileAxis.dump + FileAxis.getBoundsForDualGrid + FileAxis.info + FileAxis.isUnlimited + FileAxis.isVirtual + FileAxis.listall + FileAxis.mapIntervalExt + FileAxis.mapInterval + FileAxis.matchone + FileAxis.matchPattern + FileAxis.searchone + FileAxis.searchPattern + FileAxis.searchPredicate + FileAxis.subaxis + FileAxis.subAxis + FileAxis.toRelativeTime + FileVirtualAxis.asComponentTime + FileVirtualAxis.asdatetime + FileVirtualAxis.asDTGTime + FileVirtualAxis.asRelativeTime + FileVirtualAxis.clone + FileVirtualAxis.dump + FileVirtualAxis.getBoundsForDualGrid + FileVirtualAxis.info + FileVirtualAxis.isUnlimited + FileVirtualAxis.isVirtual + FileVirtualAxis.listall + FileVirtualAxis.mapIntervalExt + FileVirtualAxis.mapInterval + FileVirtualAxis.matchone + FileVirtualAxis.matchPattern + FileVirtualAxis.searchone + FileVirtualAxis.searchPattern + FileVirtualAxis.searchPredicate + FileVirtualAxis.subaxis + FileVirtualAxis.subAxis + FileVirtualAxis.toRelativeTime + TransientAxis.asComponentTime + TransientAxis.asdatetime + TransientAxis.asDTGTime + TransientAxis.asRelativeTime + TransientAxis.clone + TransientAxis.dump + TransientAxis.getBoundsForDualGrid + TransientAxis.info + TransientAxis.isVirtual + TransientAxis.listall + TransientAxis.mapIntervalExt + TransientAxis.mapInterval + TransientAxis.matchone + TransientAxis.matchPattern + TransientAxis.searchone + TransientAxis.searchPattern + TransientAxis.searchPredicate + TransientAxis.subaxis + TransientAxis.subAxis + TransientAxis.toRelativeTime + TransientVirtualAxis.asComponentTime + TransientVirtualAxis.asdatetime + TransientVirtualAxis.asDTGTime + TransientVirtualAxis.asRelativeTime + TransientVirtualAxis.clone + TransientVirtualAxis.dump + TransientVirtualAxis.getBoundsForDualGrid + TransientVirtualAxis.info + TransientVirtualAxis.isVirtual + TransientVirtualAxis.listall + TransientVirtualAxis.mapIntervalExt + TransientVirtualAxis.mapInterval + TransientVirtualAxis.matchone + TransientVirtualAxis.matchPattern + TransientVirtualAxis.searchone + TransientVirtualAxis.searchPattern + TransientVirtualAxis.searchPredicate + TransientVirtualAxis.setBounds + TransientVirtualAxis.subaxis + TransientVirtualAxis.subAxis + TransientVirtualAxis.toRelativeTime + + diff --git a/docs/source/bindex.rst b/docs/source/bindex.rst new file mode 100644 index 00000000..8b905daf --- /dev/null +++ b/docs/source/bindex.rst @@ -0,0 +1,13 @@ +.. _bindex: + +bindex +====== + +.. currentmodule:: cdms2.bindex + +.. autosummary:: + :toctree: ./generated + + bindexHorizontalGrid + intersectHorizontalGrid + diff --git a/docs/source/cache.rst b/docs/source/cache.rst new file mode 100644 index 00000000..cb7f6bba --- /dev/null +++ b/docs/source/cache.rst @@ -0,0 +1,25 @@ +.. _cache: + +cache +===== +.. currentmodule:: cdms2.cache + +.. autosummary:: + :toctree: generated/ + + copyFile + lock + unlock + lockpath + useWindow + useTTY + useGlobusTransfer + usePythonTransfer + useRequestManagerTransfer + Cache.get + Cache.put + Cache.deleteEntry + Cache.getFile + Cache.delete + Cache.clean + diff --git a/docs/source/cdmsNode.rst b/docs/source/cdmsNode.rst new file mode 100644 index 00000000..7213f237 --- /dev/null +++ b/docs/source/cdmsNode.rst @@ -0,0 +1,9 @@ +.. _cdmsobj: + +cdmsobj +======= + +.. automodule:: cdms2.cdmsobj + :members: + + diff --git a/docs/source/cdmsobj.rst b/docs/source/cdmsobj.rst new file mode 100644 index 00000000..7213f237 --- /dev/null +++ b/docs/source/cdmsobj.rst @@ -0,0 +1,9 @@ +.. _cdmsobj: + +cdmsobj +======= + +.. automodule:: cdms2.cdmsobj + :members: + + diff --git a/docs/source/cdscan.rst b/docs/source/cdscan.rst new file mode 100644 index 00000000..62f1d863 --- /dev/null +++ b/docs/source/cdscan.rst @@ -0,0 +1,9 @@ +.. _cdscan: + +cdscan +====== + +.. automodule:: cdms2.cdscan + :members: + + diff --git a/docs/source/cdurllib.rst b/docs/source/cdurllib.rst new file mode 100644 index 00000000..f7910f31 --- /dev/null +++ b/docs/source/cdurllib.rst @@ -0,0 +1,23 @@ +.. _cdurllib: + +cdurllib +======== +.. currentmodule:: cdms2.cdurllib + +.. autosummary:: + :toctree: generated/ + + CDURLopener.addheader + CDURLopener.http_error_default + CDURLopener.http_error + CDURLopener.open_data + CDURLopener.open_file + CDURLopener._open_generic_http + CDURLopener.open_http + CDURLopener.open_https + CDURLopener.open_local_file + CDURLopener.open + CDURLopener.open_unknown_proxy + CDURLopener.open_unknown + + diff --git a/docs/source/cdurlparse.rst b/docs/source/cdurlparse.rst new file mode 100644 index 00000000..9e860d5b --- /dev/null +++ b/docs/source/cdurlparse.rst @@ -0,0 +1,16 @@ +.. _cdurlparse: + +cdurlparse +========== +.. currentmodule:: cdms2.cdurlparse + +.. autosummary:: + :toctree: generated/ + + clear_cache + urlparse + urlunparse + urljoin + urldefrag + test + diff --git a/docs/source/conf.py b/docs/source/conf.py index 1421ad32..4bcbd3c2 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,22 +11,29 @@ # # All configuration values have a default; values that are commented out # serve to show the default. +from future.standard_library import install_aliases +install_aliases() +import sys +import os import sys import os import shlex import easydev +import glob -html_theme_path = [easydev.get_path_sphinx_themes()] +# html_theme_path = [easydev.get_path_sphinx_themes()] # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. #sys.path.insert(0, os.path.abspath('.')) -#sys.path.insert(0,os.path.join(sys.prefix,"lib","python2.7","site-packages")) -#sys.path.insert(0,os.path.join(sys.prefix,"lib","python2.7","site-packages","cdms2")) -sys.path.insert(0,"/software/anaconda2/envs/dev/lib/python2.7/site-packages") +sys.path.insert(0,os.path.join(sys.prefix,"lib","python2.7","site-packages")) print os.path.join(sys.prefix,"lib","python2.7","site-packages") +os.environ['UVCDAT_ANONYMOUS_LOG']="False" + + + # -- General configuration ------------------------------------------------ @@ -50,12 +57,16 @@ # 'sphinx.ext.napoleon' #] extensions = [ + "sphinx.ext.autodoc", +# "readthedocs_ext.readthedocs", 'easydev.copybutton', + 'sphinx.ext.autosummary', 'sphinx.ext.todo', - 'sphinx.ext.autodoc', 'sphinx.ext.graphviz', 'sphinx.ext.doctest', - 'sphinx.ext.napoleon' + 'sphinx.ext.viewcode', + "numpydoc" +# 'sphinx.ext.napoleon' ] jscopybutton_path = "copybutton.js" @@ -67,16 +78,16 @@ except Exception: print("could not copy the copybutton javascript") -napoleon_google_docstring = True -napoleon_numpy_docstring = True -napoleon_include_private_with_doc = False -napoleon_include_special_with_doc = True -napoleon_use_admonition_for_examples = True -napoleon_use_admonition_for_notes = True -napoleon_use_admonition_for_references = True -napoleon_use_ivar = False -napoleon_use_rtype = False -napolean_use_param = False +# napoleon_google_docstring = True +# napoleon_numpy_docstring = True +# napoleon_include_private_with_doc = False +# napoleon_include_special_with_doc = True +# napoleon_use_admonition_for_examples = True +# napoleon_use_admonition_for_notes = True +# napoleon_use_admonition_for_references = True +# napoleon_use_ivar = False +# napoleon_use_rtype = False +# napolean_use_param = False # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -93,18 +104,18 @@ master_doc = 'index' # General information about the project. -project = u'cdms2' -copyright = u'2016, Author' -author = u'Author' +project = u'CDMS' +copyright = u'2018' +author = u'Denis Nadeau' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '3.0' +version = '3.1' # The full version, including alpha/beta/rc tags. -release = '3.0' +release = '3.1.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -132,7 +143,7 @@ # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -#add_module_names = True +add_module_names = False # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. @@ -150,6 +161,11 @@ # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = True +# themedir = os.path.join(os.pardir, 'scipy-sphinx-theme', '_theme') +# if not os.path.isdir(themedir): +# raise RuntimeError("Get the scipy-sphinx-theme first, " +# "via git submodule init && git submodule update") + # -- Options for HTML output ---------------------------------------------- @@ -159,6 +175,7 @@ #html_theme = 'sphinxdoc' #html_theme = 'nature' html_theme = 'agogo' +#html_theme = 'scipy' #html_theme = 'pyramid' #html_theme = 'epub' #html_theme = 'haiku' @@ -172,6 +189,8 @@ # Add any paths that contain custom themes here, relative to this directory. #html_theme_path = [] +#html_theme_path = [themedir] + # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". @@ -278,13 +297,13 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - (master_doc, 'cdms2.tex', u'cdms2 Documentation', - u'Author', 'manual'), + (master_doc, 'cdms2.tex', u'cdms', + u'Denis Nadeau', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. -latex_logo = 'manual/images/uvcdat.png' +latex_logo = 'manual/images/cdms_logo2_nocube.png' # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. @@ -308,7 +327,7 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - (master_doc, 'cdms2', u'cdms2 Documentation', + (master_doc, 'cdms', u'Community Data Management System', [author], 1) ] diff --git a/docs/source/convention.rst b/docs/source/convention.rst new file mode 100644 index 00000000..051e1ed1 --- /dev/null +++ b/docs/source/convention.rst @@ -0,0 +1,38 @@ +.. _convention: + +convention +========== +.. currentmodule:: cdms2.convention + +.. autosummary:: + :toctree: generated/ + + AliasList + AliasList.setitem + AliasList.setslice + AliasList.append + + AbstractConvention + AbstractConvention.AbstractConvention.getAxisIds + AbstractConvention.getAxisAuxIds + AbstractConvention.getDsetnodeAuxAxisIds + AbstractConvention.axisIsLatitude + AbstractConvention.axisIsLongitude + AbstractConvention.getVarLatId + AbstractConvention.getVarLonId + + NUGConvention + NUGConvention.getAxisIds + NUGConvention.getAxisAuxIds + + COARDSConvention + + CFConvention + CFConvention.getAxisAuxIds + CFConvention.getDsetnodeAuxAxisids + CFConvention.getVarLatId + CFConvention.getVarLonId + CFConvention.axisIsLatitude + CFConvention.axisIsLongitude + CFConvention.getVariableBounds + CFConvention.getDatasetConvention diff --git a/docs/source/coord.rst b/docs/source/coord.rst new file mode 100644 index 00000000..d0856c2e --- /dev/null +++ b/docs/source/coord.rst @@ -0,0 +1,46 @@ +.. _coord: + +coord +===== +.. currentmodule:: cdms2.coord + +.. autosummary:: + :toctree: generated/ + + AbstractCoordinateAxis + AbstractCoordinateAxis.createCoordinateAxis + AbstractCoordinateAxis.isAbstractCoordinate + AbstractCoordinateAxis.clone + AbstractCoordinateAxis.designateLatitude + AbstractCoordinateAxis.designateLevel + AbstractCoordinateAxis.designateLongitude + AbstractCoordinateAxis.designateTime + AbstractCoordinateAxis.getCalendar + AbstractCoordinateAxis.getData + AbstractCoordinateAxis.getExplicitBounds + AbstractCoordinateAxis.info + AbstractCoordinateAxis.isLatitude + AbstractCoordinateAxis.isLevel + AbstractCoordinateAxis.isLongitude + AbstractCoordinateAxisisTime + AbstractCoordinateAxis.isForecast + AbstractCoordinateAxis.listall + AbstractCoordinateAxis.getBounds + AbstractCoordinateAxis.setBounds + AbstractCoordinateAxis.setCalendar + AbstractCoordinateAxis.size + AbstractCoordinateAxiswriteToFile + + AbstractAxis2D + AbstractAxis2D.clone + AbstractAxis2D.setBounds + AbstractAxis2D.subSlice + + DatasetAxis2D + DatasetAxis2D.rpr + + FileAxis2D + FileAxis2D.rpr + + TransientAxis2D + diff --git a/docs/source/crossSection.rst b/docs/source/crossSection.rst new file mode 100644 index 00000000..8f946f30 --- /dev/null +++ b/docs/source/crossSection.rst @@ -0,0 +1,21 @@ +.. _crossSection: + +crossSection +============ + +.. currentmodule:: regrid2.crossSection + +.. autosummary:: + :toctree: generated/ + + checkdimension + generic_wts_bnds + get_latitude_wts_bnds + get_region_latitude_wts_bnds + latitude_bounds + rmserror + sectionmask + section + sendmsg + + diff --git a/docs/source/cudsinterface.rst b/docs/source/cudsinterface.rst new file mode 100644 index 00000000..52f40170 --- /dev/null +++ b/docs/source/cudsinterface.rst @@ -0,0 +1,29 @@ +.. _cudsinterface: + +cudsinterface +============= +.. currentmodule:: cdms2.cudsinterface + +.. autosummary:: + :toctree: generated/ + + cuDataset.default_variable + cuDataset.cleardefault + cuDataset.listall + cuDataset.listattribute + cuDataset.listdimension + cuDataset.listglobal + cuDataset.listvariable + cuDataset.showglobal + cuDataset.showvariable + cuDataset.showattribute + cuDataset.showdimension + cuDataset.showall + cuDataset.dimensionobject + cuDataset.dimensionarray + cuDataset.getdimensionunits + cuDataset.getglobal + cuDataset.getattribute + cuDataset.getslab + cuDataset.readScripGrid + diff --git a/docs/source/database.rst b/docs/source/database.rst new file mode 100644 index 00000000..d5dd1066 --- /dev/null +++ b/docs/source/database.rst @@ -0,0 +1,24 @@ +.. _database: + +database +======== +.. currentmodule:: cdms2.database + +.. autosummary:: + :toctree: generated/ + + connect + loadString + + LDAPDatabase.close + LDAPDatabase.openDataset + LDAPDatabase.searchFilter + LDAPDatabase.listDatasets + + AbstractSearchResult.searchPredicate + + LDAPSearchResult.searchPredicate + + AbstractResultEntry.getObject + + diff --git a/docs/source/dataset.rst b/docs/source/dataset.rst new file mode 100644 index 00000000..6156bc8c --- /dev/null +++ b/docs/source/dataset.rst @@ -0,0 +1,112 @@ +.. _dataset: + +dataset +======= + +.. currentmodule:: cdms2.dataset + +.. autosummary:: + :toctree: ./generated + + asVariable + createDataset + getMpiRank + getMpiSize + getNetcdf4Flag + getNetcdfClassicFlag + getNetcdfDeflateFlag + getNetcdfDeflateLevelFlag + getNetcdfShuffleFlag + getNetcdfUseNCSwitchModeFlag + getNetcdfUseParallelFlag + isOverlapVector + load + loadURI + openDataset + parseFileMap + parseIndexList + parselist + parseName + parseVarMap + setCompressionWarnings + setNetcdf4Flag + setNetcdfClassicFlag + setNetcdfDeflateFlag + setNetcdfDeflateLevelFlag + setNetcdfShuffleFlag + setNetcdfUseNCSwitchModeFlag + setNetcdfUseParallelFlag + urlparse + urlunparse + useNetcdf3 + CdmsFile.cleardefault + CdmsFile.copyAxis + CdmsFile.copyGrid + CdmsFile.createAxis + CdmsFile.createRectGrid + CdmsFile.createVariableCopy + CdmsFile.createVariable + CdmsFile.createVirtualAxis + CdmsFile.default_variable + CdmsFile.dimensionarray + CdmsFile.dimensionobject + CdmsFile.dump + CdmsFile.getattribute + CdmsFile.getAxis + CdmsFile.getBoundsAxis + CdmsFile.getdimensionunits + CdmsFile.getglobal + CdmsFile.getGrid + CdmsFile.getslab + CdmsFile.getVariable + CdmsFile.getVariables + CdmsFile.listall + CdmsFile.listattribute + CdmsFile.listdimension + CdmsFile.listglobal + CdmsFile.listvariable + CdmsFile.listvariables + CdmsFile.matchone + CdmsFile.matchPattern + CdmsFile.readScripGrid + CdmsFile.searchone + CdmsFile.searchPattern + CdmsFile.searchPredicate + CdmsFile.showall + CdmsFile.showattribute + CdmsFile.showdimension + CdmsFile.showglobal + CdmsFile.showvariable + CdmsFile.sync + CdmsFile.write_it_yourself + CdmsFile.write + Dataset.cleardefault + Dataset.default_variable + Dataset.dimensionarray + Dataset.dimensionobject + Dataset.dump + Dataset.getattribute + Dataset.getAxis + Dataset.getConvention + Dataset.getdimensionunits + Dataset.getglobal + Dataset.getGrid + Dataset.getLogicalCollectionDN + Dataset.getslab + Dataset.getVariable + Dataset.getVariables + Dataset.listall + Dataset.listattribute + Dataset.listdimension + Dataset.listglobal + Dataset.listvariable + Dataset.listvariables + Dataset.matchone + Dataset.readScripGrid + Dataset.searchone + Dataset.showall + Dataset.showattribute + Dataset.showdimension + Dataset.showglobal + Dataset.showvariable + diff --git a/docs/source/esmf.rst b/docs/source/esmf.rst new file mode 100644 index 00000000..0a4d50a8 --- /dev/null +++ b/docs/source/esmf.rst @@ -0,0 +1,31 @@ +.. _esmf: + +esmf +==== +.. currentmodule:: regrid2.esmf + +.. autosummary:: + :toctree: generated/ + + EsmfUnstructGrid.setCells + EsmfUnstructGrid.setNodes + EsmfUnstructGrid.toVTK + + EsmfStructGrid.getLocalSlab + EsmfStructGrid.getLoHiBounds + EsmfStructGrid.getCoordShape + EsmfStructGrid.setCoords + EsmfStructGrid.getCoords + EsmfStructGrid.setCellAreas + EsmfStructGrid.getCellAreas + EsmfStructGrid.getMask + EsmfStructGrid.setMask + + EsmfStructField.getPointer + EsmfStructField.getData + EsmfStructField.setLocalData + + EsmfRegrid.getSrcAreas + EsmfRegrid.getDstAreas + EsmfRegrid.getSrcAreaFractions + EsmfRegrid.getDstAreaFractions diff --git a/docs/source/forecast.rst b/docs/source/forecast.rst new file mode 100644 index 00000000..3c0b069a --- /dev/null +++ b/docs/source/forecast.rst @@ -0,0 +1,18 @@ +.. _forecast: + +forecast +======== +.. currentmodule:: cdms2.forecast + +.. autosummary:: + :toctree: generated/ + + two_times_from_one + available_forecasts + comptime + forecasts + forecasts.__init__ + forecasts.forecast_times_to_list + forecasts.time_interval_to_list + forecasts.reduce_inplace + forecasts.forecast_axis diff --git a/docs/source/fvariable.rst b/docs/source/fvariable.rst new file mode 100644 index 00000000..ab0a0652 --- /dev/null +++ b/docs/source/fvariable.rst @@ -0,0 +1,65 @@ +.. _fvariable: + +fvariable +========= + + +.. currentmodule:: cdms2.fvariable + +.. autosummary:: + :toctree: generated/ + + FileVariable.astype + FileVariable.createattribute + FileVariable.crossSectionRegrid + FileVariable.decode + FileVariable.deleteattribute + FileVariable.dump + FileVariable.expertPaths + FileVariable.generateGridkey + FileVariable.generateRectGridkey + FileVariable.genMatch + FileVariable.getattribute + FileVariable.getAxisIds + FileVariable.getAxisIndex + FileVariable.getAxisListIndex + FileVariable.getAxisList + FileVariable.getConvention + FileVariable.getdimattribute + FileVariable.getFilePath + FileVariable.getForecastTime + FileVariable.getGridIndices + FileVariable.getLatitude + FileVariable.getLevel + FileVariable.getLongitude + FileVariable.getMissing + FileVariable.getOrder + FileVariable.getPartition + FileVariable.getRegion + FileVariable.getSlice + FileVariable.getTime + FileVariable.getValue + FileVariable.hasCellData + FileVariable.initDomain + FileVariable.isEncoded + FileVariable.listall + FileVariable.listattributes + FileVariable.listdimattributes + FileVariable.listdimnames + FileVariable.matchone + FileVariable.matchPattern + FileVariable.pressureRegrid + FileVariable.regrid + FileVariable.reorder + FileVariable.searchone + FileVariable.searchPattern + FileVariable.searchPredicate + FileVariable.select + FileVariable.setattribute + FileVariable.setMissing + FileVariable.showdim + FileVariable.size + FileVariable.specs2slices + FileVariable.typecode + + diff --git a/docs/source/generated/MV2.allclose.rst b/docs/source/generated/MV2.allclose.rst new file mode 100644 index 00000000..5fbc0583 --- /dev/null +++ b/docs/source/generated/MV2.allclose.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: allclose diff --git a/docs/source/generated/MV2.allequal.rst b/docs/source/generated/MV2.allequal.rst new file mode 100644 index 00000000..0b6d7ca4 --- /dev/null +++ b/docs/source/generated/MV2.allequal.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: allequal diff --git a/docs/source/generated/MV2.arange.rst b/docs/source/generated/MV2.arange.rst new file mode 100644 index 00000000..6449e8c6 --- /dev/null +++ b/docs/source/generated/MV2.arange.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: arange diff --git a/docs/source/generated/MV2.argsort.rst b/docs/source/generated/MV2.argsort.rst new file mode 100644 index 00000000..e6b4daca --- /dev/null +++ b/docs/source/generated/MV2.argsort.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: argsort diff --git a/docs/source/generated/MV2.arrayrange.rst b/docs/source/generated/MV2.arrayrange.rst new file mode 100644 index 00000000..f2cd007a --- /dev/null +++ b/docs/source/generated/MV2.arrayrange.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: arrayrange diff --git a/docs/source/generated/MV2.asVariable.rst b/docs/source/generated/MV2.asVariable.rst new file mode 100644 index 00000000..277ae8f0 --- /dev/null +++ b/docs/source/generated/MV2.asVariable.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: asVariable diff --git a/docs/source/generated/MV2.as_masked.rst b/docs/source/generated/MV2.as_masked.rst new file mode 100644 index 00000000..f020daec --- /dev/null +++ b/docs/source/generated/MV2.as_masked.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: as_masked diff --git a/docs/source/generated/MV2.asarray.rst b/docs/source/generated/MV2.asarray.rst new file mode 100644 index 00000000..c7034041 --- /dev/null +++ b/docs/source/generated/MV2.asarray.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: asarray diff --git a/docs/source/generated/MV2.average.rst b/docs/source/generated/MV2.average.rst new file mode 100644 index 00000000..404500c6 --- /dev/null +++ b/docs/source/generated/MV2.average.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: average diff --git a/docs/source/generated/MV2.axisAllclose.rst b/docs/source/generated/MV2.axisAllclose.rst new file mode 100644 index 00000000..9793667a --- /dev/null +++ b/docs/source/generated/MV2.axisAllclose.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: axisAllclose diff --git a/docs/source/generated/MV2.axisConcatenate.rst b/docs/source/generated/MV2.axisConcatenate.rst new file mode 100644 index 00000000..fa51745e --- /dev/null +++ b/docs/source/generated/MV2.axisConcatenate.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: axisConcatenate diff --git a/docs/source/generated/MV2.axisTake.rst b/docs/source/generated/MV2.axisTake.rst new file mode 100644 index 00000000..fd2af9db --- /dev/null +++ b/docs/source/generated/MV2.axisTake.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: axisTake diff --git a/docs/source/generated/MV2.choose.rst b/docs/source/generated/MV2.choose.rst new file mode 100644 index 00000000..da0257bc --- /dev/null +++ b/docs/source/generated/MV2.choose.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: choose diff --git a/docs/source/generated/MV2.commonAxes.rst b/docs/source/generated/MV2.commonAxes.rst new file mode 100644 index 00000000..cc1f3523 --- /dev/null +++ b/docs/source/generated/MV2.commonAxes.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: commonAxes diff --git a/docs/source/generated/MV2.commonDomain.rst b/docs/source/generated/MV2.commonDomain.rst new file mode 100644 index 00000000..276f5001 --- /dev/null +++ b/docs/source/generated/MV2.commonDomain.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: commonDomain diff --git a/docs/source/generated/MV2.commonGrid.rst b/docs/source/generated/MV2.commonGrid.rst new file mode 100644 index 00000000..fd3ae609 --- /dev/null +++ b/docs/source/generated/MV2.commonGrid.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: commonGrid diff --git a/docs/source/generated/MV2.commonGrid1.rst b/docs/source/generated/MV2.commonGrid1.rst new file mode 100644 index 00000000..16b80c3d --- /dev/null +++ b/docs/source/generated/MV2.commonGrid1.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: commonGrid1 diff --git a/docs/source/generated/MV2.common_fill_value.rst b/docs/source/generated/MV2.common_fill_value.rst new file mode 100644 index 00000000..2cefd34a --- /dev/null +++ b/docs/source/generated/MV2.common_fill_value.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: common_fill_value diff --git a/docs/source/generated/MV2.compress.rst b/docs/source/generated/MV2.compress.rst new file mode 100644 index 00000000..fa813644 --- /dev/null +++ b/docs/source/generated/MV2.compress.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: compress diff --git a/docs/source/generated/MV2.concatenate.rst b/docs/source/generated/MV2.concatenate.rst new file mode 100644 index 00000000..165f18a7 --- /dev/null +++ b/docs/source/generated/MV2.concatenate.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: concatenate diff --git a/docs/source/generated/MV2.count.rst b/docs/source/generated/MV2.count.rst new file mode 100644 index 00000000..539b9117 --- /dev/null +++ b/docs/source/generated/MV2.count.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: count diff --git a/docs/source/generated/MV2.create_mask.rst b/docs/source/generated/MV2.create_mask.rst new file mode 100644 index 00000000..a7defb16 --- /dev/null +++ b/docs/source/generated/MV2.create_mask.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: create_mask diff --git a/docs/source/generated/MV2.diagonal.rst b/docs/source/generated/MV2.diagonal.rst new file mode 100644 index 00000000..2d0e6d18 --- /dev/null +++ b/docs/source/generated/MV2.diagonal.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: diagonal diff --git a/docs/source/generated/MV2.dot.rst b/docs/source/generated/MV2.dot.rst new file mode 100644 index 00000000..7c689f37 --- /dev/null +++ b/docs/source/generated/MV2.dot.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: dot diff --git a/docs/source/generated/MV2.fill_value.rst b/docs/source/generated/MV2.fill_value.rst new file mode 100644 index 00000000..36733479 --- /dev/null +++ b/docs/source/generated/MV2.fill_value.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: fill_value diff --git a/docs/source/generated/MV2.filled.rst b/docs/source/generated/MV2.filled.rst new file mode 100644 index 00000000..1f04ec2b --- /dev/null +++ b/docs/source/generated/MV2.filled.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: filled diff --git a/docs/source/generated/MV2.fromfunction.rst b/docs/source/generated/MV2.fromfunction.rst new file mode 100644 index 00000000..edcde72f --- /dev/null +++ b/docs/source/generated/MV2.fromfunction.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: fromfunction diff --git a/docs/source/generated/MV2.getNumericCompatibility.rst b/docs/source/generated/MV2.getNumericCompatibility.rst new file mode 100644 index 00000000..fa17e4e8 --- /dev/null +++ b/docs/source/generated/MV2.getNumericCompatibility.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: getNumericCompatibility diff --git a/docs/source/generated/MV2.get_print_limit.rst b/docs/source/generated/MV2.get_print_limit.rst new file mode 100644 index 00000000..6879bc7b --- /dev/null +++ b/docs/source/generated/MV2.get_print_limit.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: get_print_limit diff --git a/docs/source/generated/MV2.get_printoptions.rst b/docs/source/generated/MV2.get_printoptions.rst new file mode 100644 index 00000000..26ea6883 --- /dev/null +++ b/docs/source/generated/MV2.get_printoptions.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: get_printoptions diff --git a/docs/source/generated/MV2.getmask.rst b/docs/source/generated/MV2.getmask.rst new file mode 100644 index 00000000..c0b1e3d1 --- /dev/null +++ b/docs/source/generated/MV2.getmask.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: getmask diff --git a/docs/source/generated/MV2.getmaskarray.rst b/docs/source/generated/MV2.getmaskarray.rst new file mode 100644 index 00000000..3413694f --- /dev/null +++ b/docs/source/generated/MV2.getmaskarray.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: getmaskarray diff --git a/docs/source/generated/MV2.indices.rst b/docs/source/generated/MV2.indices.rst new file mode 100644 index 00000000..9cf9deaf --- /dev/null +++ b/docs/source/generated/MV2.indices.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: indices diff --git a/docs/source/generated/MV2.innerproduct.rst b/docs/source/generated/MV2.innerproduct.rst new file mode 100644 index 00000000..f8104042 --- /dev/null +++ b/docs/source/generated/MV2.innerproduct.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: innerproduct diff --git a/docs/source/generated/MV2.isMA.rst b/docs/source/generated/MV2.isMA.rst new file mode 100644 index 00000000..d15757aa --- /dev/null +++ b/docs/source/generated/MV2.isMA.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: isMA diff --git a/docs/source/generated/MV2.isMaskedArray.rst b/docs/source/generated/MV2.isMaskedArray.rst new file mode 100644 index 00000000..c3084e02 --- /dev/null +++ b/docs/source/generated/MV2.isMaskedArray.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: isMaskedArray diff --git a/docs/source/generated/MV2.isMaskedVariable.rst b/docs/source/generated/MV2.isMaskedVariable.rst new file mode 100644 index 00000000..a4dd8e72 --- /dev/null +++ b/docs/source/generated/MV2.isMaskedVariable.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: isMaskedVariable diff --git a/docs/source/generated/MV2.is_floating.rst b/docs/source/generated/MV2.is_floating.rst new file mode 100644 index 00000000..37e510f5 --- /dev/null +++ b/docs/source/generated/MV2.is_floating.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: is_floating diff --git a/docs/source/generated/MV2.is_integer.rst b/docs/source/generated/MV2.is_integer.rst new file mode 100644 index 00000000..50d6f6f2 --- /dev/null +++ b/docs/source/generated/MV2.is_integer.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: is_integer diff --git a/docs/source/generated/MV2.is_mask.rst b/docs/source/generated/MV2.is_mask.rst new file mode 100644 index 00000000..29b54004 --- /dev/null +++ b/docs/source/generated/MV2.is_mask.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: is_mask diff --git a/docs/source/generated/MV2.is_masked.rst b/docs/source/generated/MV2.is_masked.rst new file mode 100644 index 00000000..7b70344e --- /dev/null +++ b/docs/source/generated/MV2.is_masked.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: is_masked diff --git a/docs/source/generated/MV2.isarray.rst b/docs/source/generated/MV2.isarray.rst new file mode 100644 index 00000000..e716bb4b --- /dev/null +++ b/docs/source/generated/MV2.isarray.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: isarray diff --git a/docs/source/generated/MV2.left_shift.rst b/docs/source/generated/MV2.left_shift.rst new file mode 100644 index 00000000..4b161773 --- /dev/null +++ b/docs/source/generated/MV2.left_shift.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: left_shift diff --git a/docs/source/generated/MV2.make_mask.rst b/docs/source/generated/MV2.make_mask.rst new file mode 100644 index 00000000..2d0c55a5 --- /dev/null +++ b/docs/source/generated/MV2.make_mask.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: make_mask diff --git a/docs/source/generated/MV2.make_mask_none.rst b/docs/source/generated/MV2.make_mask_none.rst new file mode 100644 index 00000000..e62cc940 --- /dev/null +++ b/docs/source/generated/MV2.make_mask_none.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: make_mask_none diff --git a/docs/source/generated/MV2.mask_or.rst b/docs/source/generated/MV2.mask_or.rst new file mode 100644 index 00000000..114b5182 --- /dev/null +++ b/docs/source/generated/MV2.mask_or.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: mask_or diff --git a/docs/source/generated/MV2.masked_array.rst b/docs/source/generated/MV2.masked_array.rst new file mode 100644 index 00000000..748a31fb --- /dev/null +++ b/docs/source/generated/MV2.masked_array.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_array diff --git a/docs/source/generated/MV2.masked_equal.rst b/docs/source/generated/MV2.masked_equal.rst new file mode 100644 index 00000000..f40492ad --- /dev/null +++ b/docs/source/generated/MV2.masked_equal.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_equal diff --git a/docs/source/generated/MV2.masked_greater.rst b/docs/source/generated/MV2.masked_greater.rst new file mode 100644 index 00000000..f328782b --- /dev/null +++ b/docs/source/generated/MV2.masked_greater.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_greater diff --git a/docs/source/generated/MV2.masked_greater_equal.rst b/docs/source/generated/MV2.masked_greater_equal.rst new file mode 100644 index 00000000..4975380a --- /dev/null +++ b/docs/source/generated/MV2.masked_greater_equal.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_greater_equal diff --git a/docs/source/generated/MV2.masked_inside.rst b/docs/source/generated/MV2.masked_inside.rst new file mode 100644 index 00000000..9925f018 --- /dev/null +++ b/docs/source/generated/MV2.masked_inside.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_inside diff --git a/docs/source/generated/MV2.masked_less.rst b/docs/source/generated/MV2.masked_less.rst new file mode 100644 index 00000000..41abc999 --- /dev/null +++ b/docs/source/generated/MV2.masked_less.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_less diff --git a/docs/source/generated/MV2.masked_less_equal.rst b/docs/source/generated/MV2.masked_less_equal.rst new file mode 100644 index 00000000..fe5d1595 --- /dev/null +++ b/docs/source/generated/MV2.masked_less_equal.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_less_equal diff --git a/docs/source/generated/MV2.masked_not_equal.rst b/docs/source/generated/MV2.masked_not_equal.rst new file mode 100644 index 00000000..71b1c01a --- /dev/null +++ b/docs/source/generated/MV2.masked_not_equal.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_not_equal diff --git a/docs/source/generated/MV2.masked_object.rst b/docs/source/generated/MV2.masked_object.rst new file mode 100644 index 00000000..79510532 --- /dev/null +++ b/docs/source/generated/MV2.masked_object.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_object diff --git a/docs/source/generated/MV2.masked_outside.rst b/docs/source/generated/MV2.masked_outside.rst new file mode 100644 index 00000000..741f6617 --- /dev/null +++ b/docs/source/generated/MV2.masked_outside.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_outside diff --git a/docs/source/generated/MV2.masked_values.rst b/docs/source/generated/MV2.masked_values.rst new file mode 100644 index 00000000..451da521 --- /dev/null +++ b/docs/source/generated/MV2.masked_values.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_values diff --git a/docs/source/generated/MV2.masked_where.rst b/docs/source/generated/MV2.masked_where.rst new file mode 100644 index 00000000..62afa492 --- /dev/null +++ b/docs/source/generated/MV2.masked_where.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: masked_where diff --git a/docs/source/generated/MV2.max.rst b/docs/source/generated/MV2.max.rst new file mode 100644 index 00000000..08eb49e7 --- /dev/null +++ b/docs/source/generated/MV2.max.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: max diff --git a/docs/source/generated/MV2.min.rst b/docs/source/generated/MV2.min.rst new file mode 100644 index 00000000..903d2ed1 --- /dev/null +++ b/docs/source/generated/MV2.min.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: min diff --git a/docs/source/generated/MV2.ones.rst b/docs/source/generated/MV2.ones.rst new file mode 100644 index 00000000..88b58b35 --- /dev/null +++ b/docs/source/generated/MV2.ones.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: ones diff --git a/docs/source/generated/MV2.outerproduct.rst b/docs/source/generated/MV2.outerproduct.rst new file mode 100644 index 00000000..54b4a603 --- /dev/null +++ b/docs/source/generated/MV2.outerproduct.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: outerproduct diff --git a/docs/source/generated/MV2.power.rst b/docs/source/generated/MV2.power.rst new file mode 100644 index 00000000..71c3af90 --- /dev/null +++ b/docs/source/generated/MV2.power.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: power diff --git a/docs/source/generated/MV2.product.rst b/docs/source/generated/MV2.product.rst new file mode 100644 index 00000000..cc6d4f7e --- /dev/null +++ b/docs/source/generated/MV2.product.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: product diff --git a/docs/source/generated/MV2.put.rst b/docs/source/generated/MV2.put.rst new file mode 100644 index 00000000..6790f9b3 --- /dev/null +++ b/docs/source/generated/MV2.put.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: put diff --git a/docs/source/generated/MV2.putmask.rst b/docs/source/generated/MV2.putmask.rst new file mode 100644 index 00000000..f29e29f9 --- /dev/null +++ b/docs/source/generated/MV2.putmask.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: putmask diff --git a/docs/source/generated/MV2.rank.rst b/docs/source/generated/MV2.rank.rst new file mode 100644 index 00000000..5b56754b --- /dev/null +++ b/docs/source/generated/MV2.rank.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: rank diff --git a/docs/source/generated/MV2.repeat.rst b/docs/source/generated/MV2.repeat.rst new file mode 100644 index 00000000..798be400 --- /dev/null +++ b/docs/source/generated/MV2.repeat.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: repeat diff --git a/docs/source/generated/MV2.reshape.rst b/docs/source/generated/MV2.reshape.rst new file mode 100644 index 00000000..dca80f1a --- /dev/null +++ b/docs/source/generated/MV2.reshape.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: reshape diff --git a/docs/source/generated/MV2.resize.rst b/docs/source/generated/MV2.resize.rst new file mode 100644 index 00000000..0fee71f1 --- /dev/null +++ b/docs/source/generated/MV2.resize.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: resize diff --git a/docs/source/generated/MV2.right_shift.rst b/docs/source/generated/MV2.right_shift.rst new file mode 100644 index 00000000..7fc8cfb9 --- /dev/null +++ b/docs/source/generated/MV2.right_shift.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: right_shift diff --git a/docs/source/generated/MV2.sctype2char.rst b/docs/source/generated/MV2.sctype2char.rst new file mode 100644 index 00000000..00662dca --- /dev/null +++ b/docs/source/generated/MV2.sctype2char.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: sctype2char diff --git a/docs/source/generated/MV2.set_default_fill_value.rst b/docs/source/generated/MV2.set_default_fill_value.rst new file mode 100644 index 00000000..bb4f9e99 --- /dev/null +++ b/docs/source/generated/MV2.set_default_fill_value.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: set_default_fill_value diff --git a/docs/source/generated/MV2.set_fill_value.rst b/docs/source/generated/MV2.set_fill_value.rst new file mode 100644 index 00000000..fdc87e1e --- /dev/null +++ b/docs/source/generated/MV2.set_fill_value.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: set_fill_value diff --git a/docs/source/generated/MV2.set_print_limit.rst b/docs/source/generated/MV2.set_print_limit.rst new file mode 100644 index 00000000..478d9ff8 --- /dev/null +++ b/docs/source/generated/MV2.set_print_limit.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: set_print_limit diff --git a/docs/source/generated/MV2.set_printoptions.rst b/docs/source/generated/MV2.set_printoptions.rst new file mode 100644 index 00000000..759a163c --- /dev/null +++ b/docs/source/generated/MV2.set_printoptions.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: set_printoptions diff --git a/docs/source/generated/MV2.shape.rst b/docs/source/generated/MV2.shape.rst new file mode 100644 index 00000000..b200e939 --- /dev/null +++ b/docs/source/generated/MV2.shape.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: shape diff --git a/docs/source/generated/MV2.size.rst b/docs/source/generated/MV2.size.rst new file mode 100644 index 00000000..7b5cfcf5 --- /dev/null +++ b/docs/source/generated/MV2.size.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: size diff --git a/docs/source/generated/MV2.sort.rst b/docs/source/generated/MV2.sort.rst new file mode 100644 index 00000000..36c9bfe9 --- /dev/null +++ b/docs/source/generated/MV2.sort.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: sort diff --git a/docs/source/generated/MV2.squeeze.rst b/docs/source/generated/MV2.squeeze.rst new file mode 100644 index 00000000..6e54f068 --- /dev/null +++ b/docs/source/generated/MV2.squeeze.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: squeeze diff --git a/docs/source/generated/MV2.sum.rst b/docs/source/generated/MV2.sum.rst new file mode 100644 index 00000000..d69e6706 --- /dev/null +++ b/docs/source/generated/MV2.sum.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: sum diff --git a/docs/source/generated/MV2.take.rst b/docs/source/generated/MV2.take.rst new file mode 100644 index 00000000..e8b3a1b3 --- /dev/null +++ b/docs/source/generated/MV2.take.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: take diff --git a/docs/source/generated/MV2.transpose.rst b/docs/source/generated/MV2.transpose.rst new file mode 100644 index 00000000..af535336 --- /dev/null +++ b/docs/source/generated/MV2.transpose.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: transpose diff --git a/docs/source/generated/MV2.where.rst b/docs/source/generated/MV2.where.rst new file mode 100644 index 00000000..2fce7afa --- /dev/null +++ b/docs/source/generated/MV2.where.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: where diff --git a/docs/source/generated/MV2.zeros.rst b/docs/source/generated/MV2.zeros.rst new file mode 100644 index 00000000..555dd5a6 --- /dev/null +++ b/docs/source/generated/MV2.zeros.rst @@ -0,0 +1,6 @@ +MV2 +=== + +.. currentmodule:: MV2 + +.. autofunction:: zeros diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__abs__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__abs__.rst new file mode 100644 index 00000000..b7717f5e --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__abs__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__abs__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__add__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__add__.rst new file mode 100644 index 00000000..9139044b --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__add__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__add__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__array__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__array__.rst new file mode 100644 index 00000000..031e2500 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__array__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__array__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__call__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__call__.rst new file mode 100644 index 00000000..d5bf8209 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__call__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__call__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__copy__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__copy__.rst new file mode 100644 index 00000000..4eb87f68 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__copy__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__copy__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__div__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__div__.rst new file mode 100644 index 00000000..cf110a26 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__div__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__div__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__eq__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__eq__.rst new file mode 100644 index 00000000..a61b5b20 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__eq__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__eq__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__floordiv__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__floordiv__.rst new file mode 100644 index 00000000..58b7e07a --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__floordiv__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__floordiv__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__ge__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__ge__.rst new file mode 100644 index 00000000..cec7e79a --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__ge__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__ge__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__getitem__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__getitem__.rst new file mode 100644 index 00000000..43c085d9 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__getitem__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__getitem__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__getslice__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__getslice__.rst new file mode 100644 index 00000000..2061e4ee --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__getslice__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__getslice__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__gt__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__gt__.rst new file mode 100644 index 00000000..2dca2280 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__gt__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__gt__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__iadd__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__iadd__.rst new file mode 100644 index 00000000..3d2e3a16 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__iadd__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__iadd__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__idiv__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__idiv__.rst new file mode 100644 index 00000000..aaf14003 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__idiv__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__idiv__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__imul__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__imul__.rst new file mode 100644 index 00000000..baf3cec9 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__imul__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__imul__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__init__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__init__.rst new file mode 100644 index 00000000..d9f1aa0c --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__init__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__init__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__isub__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__isub__.rst new file mode 100644 index 00000000..e968b455 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__isub__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__isub__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__le__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__le__.rst new file mode 100644 index 00000000..e5156841 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__le__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__le__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__lshift__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__lshift__.rst new file mode 100644 index 00000000..ddbf54ad --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__lshift__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__lshift__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__lt__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__lt__.rst new file mode 100644 index 00000000..7a1a3567 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__lt__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__lt__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__mul__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__mul__.rst new file mode 100644 index 00000000..5599ff27 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__mul__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__mul__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__ne__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__ne__.rst new file mode 100644 index 00000000..6e1c3fd0 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__ne__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__ne__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__neg__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__neg__.rst new file mode 100644 index 00000000..9f472d7b --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__neg__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__neg__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__pow__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__pow__.rst new file mode 100644 index 00000000..5cbdd904 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__pow__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__pow__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__radd__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__radd__.rst new file mode 100644 index 00000000..0851bdec --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__radd__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__radd__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__rdiv__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__rdiv__.rst new file mode 100644 index 00000000..55e39e58 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__rdiv__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__rdiv__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__rmul__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__rmul__.rst new file mode 100644 index 00000000..6c773a11 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__rmul__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__rmul__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__rshift__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__rshift__.rst new file mode 100644 index 00000000..ceb6fda9 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__rshift__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__rshift__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__rsub__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__rsub__.rst new file mode 100644 index 00000000..e0ae6d2f --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__rsub__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__rsub__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__sqrt__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__sqrt__.rst new file mode 100644 index 00000000..311a32f1 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__sqrt__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__sqrt__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__sub__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__sub__.rst new file mode 100644 index 00000000..f995fef7 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__sub__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__sub__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.__truediv__.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.__truediv__.rst new file mode 100644 index 00000000..cd8e21ac --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.__truediv__.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.__truediv__ diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable._decodedType.rst b/docs/source/generated/cdms2.avariable.AbstractVariable._decodedType.rst new file mode 100644 index 00000000..38ab1067 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable._decodedType.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable._decodedType diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable._getinternals.rst b/docs/source/generated/cdms2.avariable.AbstractVariable._getinternals.rst new file mode 100644 index 00000000..b0712a9a --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable._getinternals.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable._getinternals diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable._listatts.rst b/docs/source/generated/cdms2.avariable.AbstractVariable._listatts.rst new file mode 100644 index 00000000..52a05c02 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable._listatts.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable._listatts diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable._process_specs.rst b/docs/source/generated/cdms2.avariable.AbstractVariable._process_specs.rst new file mode 100644 index 00000000..6115f74e --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable._process_specs.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable._process_specs diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable._returnArray.rst b/docs/source/generated/cdms2.avariable.AbstractVariable._returnArray.rst new file mode 100644 index 00000000..14d0ad07 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable._returnArray.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable._returnArray diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable._setatts.rst b/docs/source/generated/cdms2.avariable.AbstractVariable._setatts.rst new file mode 100644 index 00000000..828ff0b0 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable._setatts.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable._setatts diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable._setinternals.rst b/docs/source/generated/cdms2.avariable.AbstractVariable._setinternals.rst new file mode 100644 index 00000000..2143bee7 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable._setinternals.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable._setinternals diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable._setmissing.rst b/docs/source/generated/cdms2.avariable.AbstractVariable._setmissing.rst new file mode 100644 index 00000000..89634134 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable._setmissing.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable._setmissing diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable._single_specs.rst b/docs/source/generated/cdms2.avariable.AbstractVariable._single_specs.rst new file mode 100644 index 00000000..101ee8f4 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable._single_specs.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable._single_specs diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.assignValue.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.assignValue.rst new file mode 100644 index 00000000..d3975a79 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.assignValue.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.assignValue diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.astype.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.astype.rst new file mode 100644 index 00000000..a19c8f95 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.astype.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.astype diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.createattribute.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.createattribute.rst new file mode 100644 index 00000000..dc005044 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.createattribute.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.createattribute diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.crossSectionRegrid.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.crossSectionRegrid.rst new file mode 100644 index 00000000..86cb1a32 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.crossSectionRegrid.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.crossSectionRegrid diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.decode.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.decode.rst new file mode 100644 index 00000000..76e6ac2e --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.decode.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.decode diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.deleteattribute.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.deleteattribute.rst new file mode 100644 index 00000000..5653ed4f --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.deleteattribute.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.deleteattribute diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.dump.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.dump.rst new file mode 100644 index 00000000..feeb3ff4 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.dump.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.dump diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.expertSlice.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.expertSlice.rst new file mode 100644 index 00000000..bb560a12 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.expertSlice.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.expertSlice diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.generateGridkey.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.generateGridkey.rst new file mode 100644 index 00000000..1291681e --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.generateGridkey.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.generateGridkey diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.generateRectGridkey.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.generateRectGridkey.rst new file mode 100644 index 00000000..a48499a7 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.generateRectGridkey.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.generateRectGridkey diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getAxis.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxis.rst new file mode 100644 index 00000000..3f980fa5 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getAxis diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisIds.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisIds.rst new file mode 100644 index 00000000..3a8b1579 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisIds.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getAxisIds diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisIndex.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisIndex.rst new file mode 100644 index 00000000..f3f2b62c --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisIndex.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getAxisIndex diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisList.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisList.rst new file mode 100644 index 00000000..96cd2442 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisList.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getAxisList diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisListIndex.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisListIndex.rst new file mode 100644 index 00000000..28133d4b --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getAxisListIndex.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getAxisListIndex diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getConvention.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getConvention.rst new file mode 100644 index 00000000..1fbe9c34 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getConvention.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getConvention diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getDomain.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getDomain.rst new file mode 100644 index 00000000..b0fab98a --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getDomain.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getDomain diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getForecast.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getForecast.rst new file mode 100644 index 00000000..d9c4f7b2 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getForecast.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getForecast diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getForecastTime.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getForecastTime.rst new file mode 100644 index 00000000..b980a1b2 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getForecastTime.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getForecastTime diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getGrid.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getGrid.rst new file mode 100644 index 00000000..f3536e33 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getGrid.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getGrid diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getGridIndices.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getGridIndices.rst new file mode 100644 index 00000000..0e156bc4 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getGridIndices.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getGridIndices diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getLatitude.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getLatitude.rst new file mode 100644 index 00000000..042076c7 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getLatitude diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getLevel.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getLevel.rst new file mode 100644 index 00000000..db4f0a9e --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getLevel.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getLevel diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getLongitude.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getLongitude.rst new file mode 100644 index 00000000..f42b62c3 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getLongitude diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getMissing.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getMissing.rst new file mode 100644 index 00000000..761e27a6 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getMissing.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getMissing diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getOrder.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getOrder.rst new file mode 100644 index 00000000..d544f1d2 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getOrder.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getOrder diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getRegion.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getRegion.rst new file mode 100644 index 00000000..50223013 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getRegion.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getRegion diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getSlice.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getSlice.rst new file mode 100644 index 00000000..36c150cb --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getSlice.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getSlice diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getTime.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getTime.rst new file mode 100644 index 00000000..2b63fe7d --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getTime.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getTime diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getValue.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getValue.rst new file mode 100644 index 00000000..69aebf51 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getValue.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getValue diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getattribute.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getattribute.rst new file mode 100644 index 00000000..5ce117a0 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getattribute.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getattribute diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.getdimattribute.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.getdimattribute.rst new file mode 100644 index 00000000..02f09331 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.getdimattribute.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.getdimattribute diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.hasCellData.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.hasCellData.rst new file mode 100644 index 00000000..8e010bbe --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.hasCellData.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.hasCellData diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.info.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.info.rst new file mode 100644 index 00000000..cf0aa2c3 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.info.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.info diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.isAbstractCoordinate.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.isAbstractCoordinate.rst new file mode 100644 index 00000000..c2fea681 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.isAbstractCoordinate.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.isAbstractCoordinate diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.isEncoded.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.isEncoded.rst new file mode 100644 index 00000000..577b61c9 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.isEncoded.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.isEncoded diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.listall.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.listall.rst new file mode 100644 index 00000000..58cb4da9 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.listall.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.listall diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.listattributes.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.listattributes.rst new file mode 100644 index 00000000..e1b7f66d --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.listattributes.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.listattributes diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.listdimattributes.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.listdimattributes.rst new file mode 100644 index 00000000..e6fefffb --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.listdimattributes.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.listdimattributes diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.listdimnames.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.listdimnames.rst new file mode 100644 index 00000000..a134c880 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.listdimnames.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.listdimnames diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.matchPattern.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.matchPattern.rst new file mode 100644 index 00000000..5fabdfbd --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.matchPattern diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.matchone.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.matchone.rst new file mode 100644 index 00000000..dd369e7f --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.matchone.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.matchone diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.pressureRegrid.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.pressureRegrid.rst new file mode 100644 index 00000000..85794e1f --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.pressureRegrid.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.pressureRegrid diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.rank.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.rank.rst new file mode 100644 index 00000000..f9cb3d95 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.rank.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.rank diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.reg_specs2slices.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.reg_specs2slices.rst new file mode 100644 index 00000000..b5a63987 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.reg_specs2slices.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.reg_specs2slices diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.regrid.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.regrid.rst new file mode 100644 index 00000000..90dd444a --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.regrid.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.regrid diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.reorder.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.reorder.rst new file mode 100644 index 00000000..dfd4910e --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.reorder.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.reorder diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.searchPattern.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.searchPattern.rst new file mode 100644 index 00000000..aece680b --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.searchPattern diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.searchPredicate.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.searchPredicate.rst new file mode 100644 index 00000000..ca20073a --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.searchPredicate diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.searchone.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.searchone.rst new file mode 100644 index 00000000..8993c626 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.searchone.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.searchone diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.select.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.select.rst new file mode 100644 index 00000000..94173b97 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.select.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.select diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.setGrid.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.setGrid.rst new file mode 100644 index 00000000..47abc406 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.setGrid.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.setGrid diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.setMissing.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.setMissing.rst new file mode 100644 index 00000000..2cfd9d27 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.setMissing.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.setMissing diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.setattribute.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.setattribute.rst new file mode 100644 index 00000000..2b082b0f --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.setattribute.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.setattribute diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.showdim.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.showdim.rst new file mode 100644 index 00000000..86ac6e81 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.showdim.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.showdim diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.specs2slices.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.specs2slices.rst new file mode 100644 index 00000000..ab555cb5 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.specs2slices.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.specs2slices diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.squeeze.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.squeeze.rst new file mode 100644 index 00000000..bd8bf461 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.squeeze.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.squeeze diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.subRegion.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.subRegion.rst new file mode 100644 index 00000000..a5c672bd --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.subRegion.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.subRegion diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.subSlice.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.subSlice.rst new file mode 100644 index 00000000..b28aa6cb --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.subSlice diff --git a/docs/source/generated/cdms2.avariable.AbstractVariable.typecode.rst b/docs/source/generated/cdms2.avariable.AbstractVariable.typecode.rst new file mode 100644 index 00000000..0db68a26 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.AbstractVariable.typecode.rst @@ -0,0 +1,6 @@ +cdms2.avariable:AbstractVariable +================================ + +.. currentmodule:: cdms2.avariable + +.. automethod:: AbstractVariable.typecode diff --git a/docs/source/generated/cdms2.avariable._getCoordList.rst b/docs/source/generated/cdms2.avariable._getCoordList.rst new file mode 100644 index 00000000..7af13d25 --- /dev/null +++ b/docs/source/generated/cdms2.avariable._getCoordList.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: _getCoordList diff --git a/docs/source/generated/cdms2.avariable.axisMatchAxis.rst b/docs/source/generated/cdms2.avariable.axisMatchAxis.rst new file mode 100644 index 00000000..5ec1c90f --- /dev/null +++ b/docs/source/generated/cdms2.avariable.axisMatchAxis.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: axisMatchAxis diff --git a/docs/source/generated/cdms2.avariable.axisMatchIndex.rst b/docs/source/generated/cdms2.avariable.axisMatchIndex.rst new file mode 100644 index 00000000..70c815d1 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.axisMatchIndex.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: axisMatchIndex diff --git a/docs/source/generated/cdms2.avariable.axisMatches.rst b/docs/source/generated/cdms2.avariable.axisMatches.rst new file mode 100644 index 00000000..6ef05e2f --- /dev/null +++ b/docs/source/generated/cdms2.avariable.axisMatches.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: axisMatches diff --git a/docs/source/generated/cdms2.avariable.getBoundList.rst b/docs/source/generated/cdms2.avariable.getBoundList.rst new file mode 100644 index 00000000..c79bec26 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.getBoundList.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: getBoundList diff --git a/docs/source/generated/cdms2.avariable.getMinHorizontalMask.rst b/docs/source/generated/cdms2.avariable.getMinHorizontalMask.rst new file mode 100644 index 00000000..270a42c5 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.getMinHorizontalMask.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: getMinHorizontalMask diff --git a/docs/source/generated/cdms2.avariable.getNumericCompatibility.rst b/docs/source/generated/cdms2.avariable.getNumericCompatibility.rst new file mode 100644 index 00000000..42e36ed7 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.getNumericCompatibility.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: getNumericCompatibility diff --git a/docs/source/generated/cdms2.avariable.guessPeriodicity.rst b/docs/source/generated/cdms2.avariable.guessPeriodicity.rst new file mode 100644 index 00000000..0a887dda --- /dev/null +++ b/docs/source/generated/cdms2.avariable.guessPeriodicity.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: guessPeriodicity diff --git a/docs/source/generated/cdms2.avariable.order2index.rst b/docs/source/generated/cdms2.avariable.order2index.rst new file mode 100644 index 00000000..a4360461 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.order2index.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: order2index diff --git a/docs/source/generated/cdms2.avariable.orderparse.rst b/docs/source/generated/cdms2.avariable.orderparse.rst new file mode 100644 index 00000000..c6dd57c2 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.orderparse.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: orderparse diff --git a/docs/source/generated/cdms2.avariable.setNumericCompatibility.rst b/docs/source/generated/cdms2.avariable.setNumericCompatibility.rst new file mode 100644 index 00000000..4071aa05 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.setNumericCompatibility.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: setNumericCompatibility diff --git a/docs/source/generated/cdms2.avariable.splitSlice.rst b/docs/source/generated/cdms2.avariable.splitSlice.rst new file mode 100644 index 00000000..4015769e --- /dev/null +++ b/docs/source/generated/cdms2.avariable.splitSlice.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: splitSlice diff --git a/docs/source/generated/cdms2.avariable.splitSliceExt.rst b/docs/source/generated/cdms2.avariable.splitSliceExt.rst new file mode 100644 index 00000000..f65e2780 --- /dev/null +++ b/docs/source/generated/cdms2.avariable.splitSliceExt.rst @@ -0,0 +1,6 @@ +cdms2.avariable +=============== + +.. currentmodule:: cdms2.avariable + +.. autofunction:: splitSliceExt diff --git a/docs/source/generated/cdms2.axis.AbstractAxis._time2value.rst b/docs/source/generated/cdms2.axis.AbstractAxis._time2value.rst new file mode 100644 index 00000000..422cdcfe --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis._time2value.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis._time2value diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.asComponentTime.rst b/docs/source/generated/cdms2.axis.AbstractAxis.asComponentTime.rst new file mode 100644 index 00000000..efd6d376 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.asComponentTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.asComponentTime diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.asDTGTime.rst b/docs/source/generated/cdms2.axis.AbstractAxis.asDTGTime.rst new file mode 100644 index 00000000..f9ddafdd --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.asDTGTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.asDTGTime diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.asRelativeTime.rst b/docs/source/generated/cdms2.axis.AbstractAxis.asRelativeTime.rst new file mode 100644 index 00000000..8e35fd82 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.asRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.asRelativeTime diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.asdatetime.rst b/docs/source/generated/cdms2.axis.AbstractAxis.asdatetime.rst new file mode 100644 index 00000000..7ebae688 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.asdatetime.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.asdatetime diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.clone.rst b/docs/source/generated/cdms2.axis.AbstractAxis.clone.rst new file mode 100644 index 00000000..39180536 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.clone.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.clone diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.dump.rst b/docs/source/generated/cdms2.axis.AbstractAxis.dump.rst new file mode 100644 index 00000000..9bd12c1f --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.dump.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.dump diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.getBounds.rst b/docs/source/generated/cdms2.axis.AbstractAxis.getBounds.rst new file mode 100644 index 00000000..6dfb5c51 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.getBounds diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.getBoundsForDualGrid.rst b/docs/source/generated/cdms2.axis.AbstractAxis.getBoundsForDualGrid.rst new file mode 100644 index 00000000..f741cad6 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.getBoundsForDualGrid.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.getBoundsForDualGrid diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.getExplicitBounds.rst b/docs/source/generated/cdms2.axis.AbstractAxis.getExplicitBounds.rst new file mode 100644 index 00000000..0dae4875 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.getExplicitBounds.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.getExplicitBounds diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.info.rst b/docs/source/generated/cdms2.axis.AbstractAxis.info.rst new file mode 100644 index 00000000..89f0b32d --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.info.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.info diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.isVirtual.rst b/docs/source/generated/cdms2.axis.AbstractAxis.isVirtual.rst new file mode 100644 index 00000000..00f2a408 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.isVirtual.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.isVirtual diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.listall.rst b/docs/source/generated/cdms2.axis.AbstractAxis.listall.rst new file mode 100644 index 00000000..a35e3a14 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.listall.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.listall diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.mapInterval.rst b/docs/source/generated/cdms2.axis.AbstractAxis.mapInterval.rst new file mode 100644 index 00000000..0b3f3378 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.mapInterval.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.mapInterval diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.mapIntervalExt.rst b/docs/source/generated/cdms2.axis.AbstractAxis.mapIntervalExt.rst new file mode 100644 index 00000000..75195d6f --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.mapIntervalExt.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.mapIntervalExt diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.matchPattern.rst b/docs/source/generated/cdms2.axis.AbstractAxis.matchPattern.rst new file mode 100644 index 00000000..62ff929b --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.matchPattern diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.matchone.rst b/docs/source/generated/cdms2.axis.AbstractAxis.matchone.rst new file mode 100644 index 00000000..c5ab5dfb --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.matchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.matchone diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.searchPattern.rst b/docs/source/generated/cdms2.axis.AbstractAxis.searchPattern.rst new file mode 100644 index 00000000..1fd815a6 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.searchPattern diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.searchPredicate.rst b/docs/source/generated/cdms2.axis.AbstractAxis.searchPredicate.rst new file mode 100644 index 00000000..9047d0ee --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.searchPredicate diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.searchone.rst b/docs/source/generated/cdms2.axis.AbstractAxis.searchone.rst new file mode 100644 index 00000000..ab82e14f --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.searchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.searchone diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.subAxis.rst b/docs/source/generated/cdms2.axis.AbstractAxis.subAxis.rst new file mode 100644 index 00000000..86a20082 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.subAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.subAxis diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.subaxis.rst b/docs/source/generated/cdms2.axis.AbstractAxis.subaxis.rst new file mode 100644 index 00000000..4a7cb8c1 --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.subaxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.subaxis diff --git a/docs/source/generated/cdms2.axis.AbstractAxis.toRelativeTime.rst b/docs/source/generated/cdms2.axis.AbstractAxis.toRelativeTime.rst new file mode 100644 index 00000000..e98d209d --- /dev/null +++ b/docs/source/generated/cdms2.axis.AbstractAxis.toRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:AbstractAxis +======================= + +.. currentmodule:: cdms2.axis + +.. automethod:: AbstractAxis.toRelativeTime diff --git a/docs/source/generated/cdms2.axis.Axis._time2value.rst b/docs/source/generated/cdms2.axis.Axis._time2value.rst new file mode 100644 index 00000000..afa7333e --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis._time2value.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis._time2value diff --git a/docs/source/generated/cdms2.axis.Axis.asComponentTime.rst b/docs/source/generated/cdms2.axis.Axis.asComponentTime.rst new file mode 100644 index 00000000..8e309b11 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.asComponentTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.asComponentTime diff --git a/docs/source/generated/cdms2.axis.Axis.asDTGTime.rst b/docs/source/generated/cdms2.axis.Axis.asDTGTime.rst new file mode 100644 index 00000000..f9820a64 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.asDTGTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.asDTGTime diff --git a/docs/source/generated/cdms2.axis.Axis.asRelativeTime.rst b/docs/source/generated/cdms2.axis.Axis.asRelativeTime.rst new file mode 100644 index 00000000..36b122d7 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.asRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.asRelativeTime diff --git a/docs/source/generated/cdms2.axis.Axis.asdatetime.rst b/docs/source/generated/cdms2.axis.Axis.asdatetime.rst new file mode 100644 index 00000000..d6535aab --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.asdatetime.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.asdatetime diff --git a/docs/source/generated/cdms2.axis.Axis.clone.rst b/docs/source/generated/cdms2.axis.Axis.clone.rst new file mode 100644 index 00000000..53b8e7c7 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.clone.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.clone diff --git a/docs/source/generated/cdms2.axis.Axis.dump.rst b/docs/source/generated/cdms2.axis.Axis.dump.rst new file mode 100644 index 00000000..c6315752 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.dump.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.dump diff --git a/docs/source/generated/cdms2.axis.Axis.getBounds.rst b/docs/source/generated/cdms2.axis.Axis.getBounds.rst new file mode 100644 index 00000000..1e328b97 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.getBounds diff --git a/docs/source/generated/cdms2.axis.Axis.getBoundsForDualGrid.rst b/docs/source/generated/cdms2.axis.Axis.getBoundsForDualGrid.rst new file mode 100644 index 00000000..b0d3a217 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.getBoundsForDualGrid.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.getBoundsForDualGrid diff --git a/docs/source/generated/cdms2.axis.Axis.info.rst b/docs/source/generated/cdms2.axis.Axis.info.rst new file mode 100644 index 00000000..f42ed2ae --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.info.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.info diff --git a/docs/source/generated/cdms2.axis.Axis.isVirtual.rst b/docs/source/generated/cdms2.axis.Axis.isVirtual.rst new file mode 100644 index 00000000..7ab9d96c --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.isVirtual.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.isVirtual diff --git a/docs/source/generated/cdms2.axis.Axis.listall.rst b/docs/source/generated/cdms2.axis.Axis.listall.rst new file mode 100644 index 00000000..03c3e34f --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.listall.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.listall diff --git a/docs/source/generated/cdms2.axis.Axis.mapInterval.rst b/docs/source/generated/cdms2.axis.Axis.mapInterval.rst new file mode 100644 index 00000000..06850f4b --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.mapInterval.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.mapInterval diff --git a/docs/source/generated/cdms2.axis.Axis.mapIntervalExt.rst b/docs/source/generated/cdms2.axis.Axis.mapIntervalExt.rst new file mode 100644 index 00000000..844ea2c7 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.mapIntervalExt.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.mapIntervalExt diff --git a/docs/source/generated/cdms2.axis.Axis.matchPattern.rst b/docs/source/generated/cdms2.axis.Axis.matchPattern.rst new file mode 100644 index 00000000..c02e85ae --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.matchPattern diff --git a/docs/source/generated/cdms2.axis.Axis.matchone.rst b/docs/source/generated/cdms2.axis.Axis.matchone.rst new file mode 100644 index 00000000..cd6dc19e --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.matchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.matchone diff --git a/docs/source/generated/cdms2.axis.Axis.searchPattern.rst b/docs/source/generated/cdms2.axis.Axis.searchPattern.rst new file mode 100644 index 00000000..0f64f232 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.searchPattern diff --git a/docs/source/generated/cdms2.axis.Axis.searchPredicate.rst b/docs/source/generated/cdms2.axis.Axis.searchPredicate.rst new file mode 100644 index 00000000..8bc8cfc3 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.searchPredicate diff --git a/docs/source/generated/cdms2.axis.Axis.searchone.rst b/docs/source/generated/cdms2.axis.Axis.searchone.rst new file mode 100644 index 00000000..aaa94ea7 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.searchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.searchone diff --git a/docs/source/generated/cdms2.axis.Axis.subAxis.rst b/docs/source/generated/cdms2.axis.Axis.subAxis.rst new file mode 100644 index 00000000..59c9b47c --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.subAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.subAxis diff --git a/docs/source/generated/cdms2.axis.Axis.subaxis.rst b/docs/source/generated/cdms2.axis.Axis.subaxis.rst new file mode 100644 index 00000000..8dee5345 --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.subaxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.subaxis diff --git a/docs/source/generated/cdms2.axis.Axis.toRelativeTime.rst b/docs/source/generated/cdms2.axis.Axis.toRelativeTime.rst new file mode 100644 index 00000000..9da6dbbb --- /dev/null +++ b/docs/source/generated/cdms2.axis.Axis.toRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:Axis +=============== + +.. currentmodule:: cdms2.axis + +.. automethod:: Axis.toRelativeTime diff --git a/docs/source/generated/cdms2.axis.FileAxis._time2value.rst b/docs/source/generated/cdms2.axis.FileAxis._time2value.rst new file mode 100644 index 00000000..823a2b51 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis._time2value.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis._time2value diff --git a/docs/source/generated/cdms2.axis.FileAxis.asComponentTime.rst b/docs/source/generated/cdms2.axis.FileAxis.asComponentTime.rst new file mode 100644 index 00000000..4bbc8a5b --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.asComponentTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.asComponentTime diff --git a/docs/source/generated/cdms2.axis.FileAxis.asDTGTime.rst b/docs/source/generated/cdms2.axis.FileAxis.asDTGTime.rst new file mode 100644 index 00000000..534875be --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.asDTGTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.asDTGTime diff --git a/docs/source/generated/cdms2.axis.FileAxis.asRelativeTime.rst b/docs/source/generated/cdms2.axis.FileAxis.asRelativeTime.rst new file mode 100644 index 00000000..b7669d21 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.asRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.asRelativeTime diff --git a/docs/source/generated/cdms2.axis.FileAxis.asdatetime.rst b/docs/source/generated/cdms2.axis.FileAxis.asdatetime.rst new file mode 100644 index 00000000..aa52e23c --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.asdatetime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.asdatetime diff --git a/docs/source/generated/cdms2.axis.FileAxis.clone.rst b/docs/source/generated/cdms2.axis.FileAxis.clone.rst new file mode 100644 index 00000000..f51a20ed --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.clone.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.clone diff --git a/docs/source/generated/cdms2.axis.FileAxis.dump.rst b/docs/source/generated/cdms2.axis.FileAxis.dump.rst new file mode 100644 index 00000000..b686660b --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.dump.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.dump diff --git a/docs/source/generated/cdms2.axis.FileAxis.getBoundsForDualGrid.rst b/docs/source/generated/cdms2.axis.FileAxis.getBoundsForDualGrid.rst new file mode 100644 index 00000000..092abcce --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.getBoundsForDualGrid.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.getBoundsForDualGrid diff --git a/docs/source/generated/cdms2.axis.FileAxis.info.rst b/docs/source/generated/cdms2.axis.FileAxis.info.rst new file mode 100644 index 00000000..77fd71a5 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.info.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.info diff --git a/docs/source/generated/cdms2.axis.FileAxis.isUnlimited.rst b/docs/source/generated/cdms2.axis.FileAxis.isUnlimited.rst new file mode 100644 index 00000000..c52436d7 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.isUnlimited.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.isUnlimited diff --git a/docs/source/generated/cdms2.axis.FileAxis.isVirtual.rst b/docs/source/generated/cdms2.axis.FileAxis.isVirtual.rst new file mode 100644 index 00000000..2196efd5 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.isVirtual.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.isVirtual diff --git a/docs/source/generated/cdms2.axis.FileAxis.listall.rst b/docs/source/generated/cdms2.axis.FileAxis.listall.rst new file mode 100644 index 00000000..d6a08661 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.listall.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.listall diff --git a/docs/source/generated/cdms2.axis.FileAxis.mapInterval.rst b/docs/source/generated/cdms2.axis.FileAxis.mapInterval.rst new file mode 100644 index 00000000..3a98e3a7 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.mapInterval.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.mapInterval diff --git a/docs/source/generated/cdms2.axis.FileAxis.mapIntervalExt.rst b/docs/source/generated/cdms2.axis.FileAxis.mapIntervalExt.rst new file mode 100644 index 00000000..b5edf15f --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.mapIntervalExt.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.mapIntervalExt diff --git a/docs/source/generated/cdms2.axis.FileAxis.matchPattern.rst b/docs/source/generated/cdms2.axis.FileAxis.matchPattern.rst new file mode 100644 index 00000000..fb8d0b82 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.matchPattern diff --git a/docs/source/generated/cdms2.axis.FileAxis.matchone.rst b/docs/source/generated/cdms2.axis.FileAxis.matchone.rst new file mode 100644 index 00000000..9e73b177 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.matchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.matchone diff --git a/docs/source/generated/cdms2.axis.FileAxis.searchPattern.rst b/docs/source/generated/cdms2.axis.FileAxis.searchPattern.rst new file mode 100644 index 00000000..28a0320a --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.searchPattern diff --git a/docs/source/generated/cdms2.axis.FileAxis.searchPredicate.rst b/docs/source/generated/cdms2.axis.FileAxis.searchPredicate.rst new file mode 100644 index 00000000..48d4a6e2 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.searchPredicate diff --git a/docs/source/generated/cdms2.axis.FileAxis.searchone.rst b/docs/source/generated/cdms2.axis.FileAxis.searchone.rst new file mode 100644 index 00000000..59664ab9 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.searchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.searchone diff --git a/docs/source/generated/cdms2.axis.FileAxis.subAxis.rst b/docs/source/generated/cdms2.axis.FileAxis.subAxis.rst new file mode 100644 index 00000000..5952ef6a --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.subAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.subAxis diff --git a/docs/source/generated/cdms2.axis.FileAxis.subaxis.rst b/docs/source/generated/cdms2.axis.FileAxis.subaxis.rst new file mode 100644 index 00000000..a1e3d767 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.subaxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.subaxis diff --git a/docs/source/generated/cdms2.axis.FileAxis.toRelativeTime.rst b/docs/source/generated/cdms2.axis.FileAxis.toRelativeTime.rst new file mode 100644 index 00000000..2729cbdb --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileAxis.toRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileAxis +=================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileAxis.toRelativeTime diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis._time2value.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis._time2value.rst new file mode 100644 index 00000000..139dcf0c --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis._time2value.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis._time2value diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.asComponentTime.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.asComponentTime.rst new file mode 100644 index 00000000..824683c7 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.asComponentTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.asComponentTime diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.asDTGTime.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.asDTGTime.rst new file mode 100644 index 00000000..445a735d --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.asDTGTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.asDTGTime diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.asRelativeTime.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.asRelativeTime.rst new file mode 100644 index 00000000..b0201027 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.asRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.asRelativeTime diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.asdatetime.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.asdatetime.rst new file mode 100644 index 00000000..172856e2 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.asdatetime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.asdatetime diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.clone.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.clone.rst new file mode 100644 index 00000000..f18fe28d --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.clone.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.clone diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.dump.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.dump.rst new file mode 100644 index 00000000..ded958a3 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.dump.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.dump diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.getBoundsForDualGrid.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.getBoundsForDualGrid.rst new file mode 100644 index 00000000..1245c644 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.getBoundsForDualGrid.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.getBoundsForDualGrid diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.info.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.info.rst new file mode 100644 index 00000000..85e37c24 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.info.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.info diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.isUnlimited.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.isUnlimited.rst new file mode 100644 index 00000000..1aef8d73 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.isUnlimited.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.isUnlimited diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.isVirtual.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.isVirtual.rst new file mode 100644 index 00000000..ce4124fd --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.isVirtual.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.isVirtual diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.listall.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.listall.rst new file mode 100644 index 00000000..478d0eac --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.listall.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.listall diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.mapInterval.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.mapInterval.rst new file mode 100644 index 00000000..c1b162d0 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.mapInterval.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.mapInterval diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.mapIntervalExt.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.mapIntervalExt.rst new file mode 100644 index 00000000..9a18a55a --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.mapIntervalExt.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.mapIntervalExt diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.matchPattern.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.matchPattern.rst new file mode 100644 index 00000000..c1aa2f1c --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.matchPattern diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.matchone.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.matchone.rst new file mode 100644 index 00000000..1a05a1fe --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.matchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.matchone diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.searchPattern.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.searchPattern.rst new file mode 100644 index 00000000..d990eb86 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.searchPattern diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.searchPredicate.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.searchPredicate.rst new file mode 100644 index 00000000..832161b6 --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.searchPredicate diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.searchone.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.searchone.rst new file mode 100644 index 00000000..064dfc5d --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.searchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.searchone diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.subAxis.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.subAxis.rst new file mode 100644 index 00000000..dbce232d --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.subAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.subAxis diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.subaxis.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.subaxis.rst new file mode 100644 index 00000000..d0d241ab --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.subaxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.subaxis diff --git a/docs/source/generated/cdms2.axis.FileVirtualAxis.toRelativeTime.rst b/docs/source/generated/cdms2.axis.FileVirtualAxis.toRelativeTime.rst new file mode 100644 index 00000000..0f36145d --- /dev/null +++ b/docs/source/generated/cdms2.axis.FileVirtualAxis.toRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:FileVirtualAxis +========================== + +.. currentmodule:: cdms2.axis + +.. automethod:: FileVirtualAxis.toRelativeTime diff --git a/docs/source/generated/cdms2.axis.TransientAxis.__init__.rst b/docs/source/generated/cdms2.axis.TransientAxis.__init__.rst new file mode 100644 index 00000000..b4a88a18 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.__init__.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.__init__ diff --git a/docs/source/generated/cdms2.axis.TransientAxis._time2value.rst b/docs/source/generated/cdms2.axis.TransientAxis._time2value.rst new file mode 100644 index 00000000..1a83c1e4 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis._time2value.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis._time2value diff --git a/docs/source/generated/cdms2.axis.TransientAxis.asComponentTime.rst b/docs/source/generated/cdms2.axis.TransientAxis.asComponentTime.rst new file mode 100644 index 00000000..790b30ba --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.asComponentTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.asComponentTime diff --git a/docs/source/generated/cdms2.axis.TransientAxis.asDTGTime.rst b/docs/source/generated/cdms2.axis.TransientAxis.asDTGTime.rst new file mode 100644 index 00000000..7b36d83a --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.asDTGTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.asDTGTime diff --git a/docs/source/generated/cdms2.axis.TransientAxis.asRelativeTime.rst b/docs/source/generated/cdms2.axis.TransientAxis.asRelativeTime.rst new file mode 100644 index 00000000..e3d1335a --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.asRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.asRelativeTime diff --git a/docs/source/generated/cdms2.axis.TransientAxis.asdatetime.rst b/docs/source/generated/cdms2.axis.TransientAxis.asdatetime.rst new file mode 100644 index 00000000..6c690f7c --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.asdatetime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.asdatetime diff --git a/docs/source/generated/cdms2.axis.TransientAxis.clone.rst b/docs/source/generated/cdms2.axis.TransientAxis.clone.rst new file mode 100644 index 00000000..322ac2e2 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.clone.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.clone diff --git a/docs/source/generated/cdms2.axis.TransientAxis.dump.rst b/docs/source/generated/cdms2.axis.TransientAxis.dump.rst new file mode 100644 index 00000000..0589036f --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.dump.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.dump diff --git a/docs/source/generated/cdms2.axis.TransientAxis.getBoundsForDualGrid.rst b/docs/source/generated/cdms2.axis.TransientAxis.getBoundsForDualGrid.rst new file mode 100644 index 00000000..7165ef59 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.getBoundsForDualGrid.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.getBoundsForDualGrid diff --git a/docs/source/generated/cdms2.axis.TransientAxis.info.rst b/docs/source/generated/cdms2.axis.TransientAxis.info.rst new file mode 100644 index 00000000..d2edfc54 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.info.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.info diff --git a/docs/source/generated/cdms2.axis.TransientAxis.isVirtual.rst b/docs/source/generated/cdms2.axis.TransientAxis.isVirtual.rst new file mode 100644 index 00000000..4f00e26e --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.isVirtual.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.isVirtual diff --git a/docs/source/generated/cdms2.axis.TransientAxis.listall.rst b/docs/source/generated/cdms2.axis.TransientAxis.listall.rst new file mode 100644 index 00000000..141ca39b --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.listall.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.listall diff --git a/docs/source/generated/cdms2.axis.TransientAxis.mapInterval.rst b/docs/source/generated/cdms2.axis.TransientAxis.mapInterval.rst new file mode 100644 index 00000000..5a4c14b3 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.mapInterval.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.mapInterval diff --git a/docs/source/generated/cdms2.axis.TransientAxis.mapIntervalExt.rst b/docs/source/generated/cdms2.axis.TransientAxis.mapIntervalExt.rst new file mode 100644 index 00000000..2e871ae2 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.mapIntervalExt.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.mapIntervalExt diff --git a/docs/source/generated/cdms2.axis.TransientAxis.matchPattern.rst b/docs/source/generated/cdms2.axis.TransientAxis.matchPattern.rst new file mode 100644 index 00000000..335f74b2 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.matchPattern diff --git a/docs/source/generated/cdms2.axis.TransientAxis.matchone.rst b/docs/source/generated/cdms2.axis.TransientAxis.matchone.rst new file mode 100644 index 00000000..ffd6423a --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.matchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.matchone diff --git a/docs/source/generated/cdms2.axis.TransientAxis.searchPattern.rst b/docs/source/generated/cdms2.axis.TransientAxis.searchPattern.rst new file mode 100644 index 00000000..be157b6b --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.searchPattern diff --git a/docs/source/generated/cdms2.axis.TransientAxis.searchPredicate.rst b/docs/source/generated/cdms2.axis.TransientAxis.searchPredicate.rst new file mode 100644 index 00000000..f0df569a --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.searchPredicate diff --git a/docs/source/generated/cdms2.axis.TransientAxis.searchone.rst b/docs/source/generated/cdms2.axis.TransientAxis.searchone.rst new file mode 100644 index 00000000..69a67688 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.searchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.searchone diff --git a/docs/source/generated/cdms2.axis.TransientAxis.subAxis.rst b/docs/source/generated/cdms2.axis.TransientAxis.subAxis.rst new file mode 100644 index 00000000..9a6add4e --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.subAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.subAxis diff --git a/docs/source/generated/cdms2.axis.TransientAxis.subaxis.rst b/docs/source/generated/cdms2.axis.TransientAxis.subaxis.rst new file mode 100644 index 00000000..58478b88 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.subaxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.subaxis diff --git a/docs/source/generated/cdms2.axis.TransientAxis.toRelativeTime.rst b/docs/source/generated/cdms2.axis.TransientAxis.toRelativeTime.rst new file mode 100644 index 00000000..bc54e97b --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientAxis.toRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientAxis +======================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientAxis.toRelativeTime diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis._time2value.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis._time2value.rst new file mode 100644 index 00000000..0901ee7e --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis._time2value.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis._time2value diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.asComponentTime.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.asComponentTime.rst new file mode 100644 index 00000000..b91e597a --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.asComponentTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.asComponentTime diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.asDTGTime.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.asDTGTime.rst new file mode 100644 index 00000000..abee5e41 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.asDTGTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.asDTGTime diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.asRelativeTime.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.asRelativeTime.rst new file mode 100644 index 00000000..b45f4b59 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.asRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.asRelativeTime diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.asdatetime.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.asdatetime.rst new file mode 100644 index 00000000..ad4c4338 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.asdatetime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.asdatetime diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.clone.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.clone.rst new file mode 100644 index 00000000..0ac1f309 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.clone.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.clone diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.dump.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.dump.rst new file mode 100644 index 00000000..6a9f13ea --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.dump.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.dump diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.getBoundsForDualGrid.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.getBoundsForDualGrid.rst new file mode 100644 index 00000000..d441a7ef --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.getBoundsForDualGrid.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.getBoundsForDualGrid diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.info.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.info.rst new file mode 100644 index 00000000..f88be415 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.info.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.info diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.isVirtual.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.isVirtual.rst new file mode 100644 index 00000000..83483395 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.isVirtual.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.isVirtual diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.listall.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.listall.rst new file mode 100644 index 00000000..3d777530 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.listall.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.listall diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.mapInterval.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.mapInterval.rst new file mode 100644 index 00000000..dbf81033 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.mapInterval.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.mapInterval diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.mapIntervalExt.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.mapIntervalExt.rst new file mode 100644 index 00000000..992d03d7 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.mapIntervalExt.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.mapIntervalExt diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.matchPattern.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.matchPattern.rst new file mode 100644 index 00000000..34ac2fa2 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.matchPattern diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.matchone.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.matchone.rst new file mode 100644 index 00000000..a9d51b1a --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.matchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.matchone diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.searchPattern.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.searchPattern.rst new file mode 100644 index 00000000..d94381dc --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.searchPattern diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.searchPredicate.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.searchPredicate.rst new file mode 100644 index 00000000..e873ea84 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.searchPredicate diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.searchone.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.searchone.rst new file mode 100644 index 00000000..7ea19dac --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.searchone.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.searchone diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.setBounds.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.setBounds.rst new file mode 100644 index 00000000..ef0a552f --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.setBounds.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.setBounds diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.subAxis.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.subAxis.rst new file mode 100644 index 00000000..b3329059 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.subAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.subAxis diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.subaxis.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.subaxis.rst new file mode 100644 index 00000000..4971b10d --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.subaxis.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.subaxis diff --git a/docs/source/generated/cdms2.axis.TransientVirtualAxis.toRelativeTime.rst b/docs/source/generated/cdms2.axis.TransientVirtualAxis.toRelativeTime.rst new file mode 100644 index 00000000..db4612a6 --- /dev/null +++ b/docs/source/generated/cdms2.axis.TransientVirtualAxis.toRelativeTime.rst @@ -0,0 +1,6 @@ +cdms2.axis:TransientVirtualAxis +=============================== + +.. currentmodule:: cdms2.axis + +.. automethod:: TransientVirtualAxis.toRelativeTime diff --git a/docs/source/generated/cdms2.axis.allclose.rst b/docs/source/generated/cdms2.axis.allclose.rst new file mode 100644 index 00000000..1166da7e --- /dev/null +++ b/docs/source/generated/cdms2.axis.allclose.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: allclose diff --git a/docs/source/generated/cdms2.axis.axisMatchAxis.rst b/docs/source/generated/cdms2.axis.axisMatchAxis.rst new file mode 100644 index 00000000..9cfb35d7 --- /dev/null +++ b/docs/source/generated/cdms2.axis.axisMatchAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: axisMatchAxis diff --git a/docs/source/generated/cdms2.axis.axisMatchIndex.rst b/docs/source/generated/cdms2.axis.axisMatchIndex.rst new file mode 100644 index 00000000..c1fb4827 --- /dev/null +++ b/docs/source/generated/cdms2.axis.axisMatchIndex.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: axisMatchIndex diff --git a/docs/source/generated/cdms2.axis.axisMatches.rst b/docs/source/generated/cdms2.axis.axisMatches.rst new file mode 100644 index 00000000..f114a125 --- /dev/null +++ b/docs/source/generated/cdms2.axis.axisMatches.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: axisMatches diff --git a/docs/source/generated/cdms2.axis.concatenate.rst b/docs/source/generated/cdms2.axis.concatenate.rst new file mode 100644 index 00000000..6ebbc724 --- /dev/null +++ b/docs/source/generated/cdms2.axis.concatenate.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: concatenate diff --git a/docs/source/generated/cdms2.axis.createAxis.rst b/docs/source/generated/cdms2.axis.createAxis.rst new file mode 100644 index 00000000..81548af4 --- /dev/null +++ b/docs/source/generated/cdms2.axis.createAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: createAxis diff --git a/docs/source/generated/cdms2.axis.createEqualAreaAxis.rst b/docs/source/generated/cdms2.axis.createEqualAreaAxis.rst new file mode 100644 index 00000000..aa7e7e24 --- /dev/null +++ b/docs/source/generated/cdms2.axis.createEqualAreaAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: createEqualAreaAxis diff --git a/docs/source/generated/cdms2.axis.createGaussianAxis.rst b/docs/source/generated/cdms2.axis.createGaussianAxis.rst new file mode 100644 index 00000000..f97346e3 --- /dev/null +++ b/docs/source/generated/cdms2.axis.createGaussianAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: createGaussianAxis diff --git a/docs/source/generated/cdms2.axis.createUniformLatitudeAxis.rst b/docs/source/generated/cdms2.axis.createUniformLatitudeAxis.rst new file mode 100644 index 00000000..c06926ea --- /dev/null +++ b/docs/source/generated/cdms2.axis.createUniformLatitudeAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: createUniformLatitudeAxis diff --git a/docs/source/generated/cdms2.axis.createUniformLongitudeAxis.rst b/docs/source/generated/cdms2.axis.createUniformLongitudeAxis.rst new file mode 100644 index 00000000..6516d07c --- /dev/null +++ b/docs/source/generated/cdms2.axis.createUniformLongitudeAxis.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: createUniformLongitudeAxis diff --git a/docs/source/generated/cdms2.axis.getAutoBounds.rst b/docs/source/generated/cdms2.axis.getAutoBounds.rst new file mode 100644 index 00000000..b0cb8c88 --- /dev/null +++ b/docs/source/generated/cdms2.axis.getAutoBounds.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: getAutoBounds diff --git a/docs/source/generated/cdms2.axis.isOverlapVector.rst b/docs/source/generated/cdms2.axis.isOverlapVector.rst new file mode 100644 index 00000000..133294f9 --- /dev/null +++ b/docs/source/generated/cdms2.axis.isOverlapVector.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: isOverlapVector diff --git a/docs/source/generated/cdms2.axis.isSubsetVector.rst b/docs/source/generated/cdms2.axis.isSubsetVector.rst new file mode 100644 index 00000000..e8f97ee1 --- /dev/null +++ b/docs/source/generated/cdms2.axis.isSubsetVector.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: isSubsetVector diff --git a/docs/source/generated/cdms2.axis.lookupArray.rst b/docs/source/generated/cdms2.axis.lookupArray.rst new file mode 100644 index 00000000..45e1961d --- /dev/null +++ b/docs/source/generated/cdms2.axis.lookupArray.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: lookupArray diff --git a/docs/source/generated/cdms2.axis.mapLinearExt.rst b/docs/source/generated/cdms2.axis.mapLinearExt.rst new file mode 100644 index 00000000..002f91f1 --- /dev/null +++ b/docs/source/generated/cdms2.axis.mapLinearExt.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: mapLinearExt diff --git a/docs/source/generated/cdms2.axis.mapLinearIntersection.rst b/docs/source/generated/cdms2.axis.mapLinearIntersection.rst new file mode 100644 index 00000000..4bfbdde4 --- /dev/null +++ b/docs/source/generated/cdms2.axis.mapLinearIntersection.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: mapLinearIntersection diff --git a/docs/source/generated/cdms2.axis.reverseSlice.rst b/docs/source/generated/cdms2.axis.reverseSlice.rst new file mode 100644 index 00000000..49966dc8 --- /dev/null +++ b/docs/source/generated/cdms2.axis.reverseSlice.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: reverseSlice diff --git a/docs/source/generated/cdms2.axis.setAutoBounds.rst b/docs/source/generated/cdms2.axis.setAutoBounds.rst new file mode 100644 index 00000000..83d62f53 --- /dev/null +++ b/docs/source/generated/cdms2.axis.setAutoBounds.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: setAutoBounds diff --git a/docs/source/generated/cdms2.axis.splitSlice.rst b/docs/source/generated/cdms2.axis.splitSlice.rst new file mode 100644 index 00000000..4cc68560 --- /dev/null +++ b/docs/source/generated/cdms2.axis.splitSlice.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: splitSlice diff --git a/docs/source/generated/cdms2.axis.splitSliceExt.rst b/docs/source/generated/cdms2.axis.splitSliceExt.rst new file mode 100644 index 00000000..c418f689 --- /dev/null +++ b/docs/source/generated/cdms2.axis.splitSliceExt.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: splitSliceExt diff --git a/docs/source/generated/cdms2.axis.take.rst b/docs/source/generated/cdms2.axis.take.rst new file mode 100644 index 00000000..818a98db --- /dev/null +++ b/docs/source/generated/cdms2.axis.take.rst @@ -0,0 +1,6 @@ +cdms2.axis +========== + +.. currentmodule:: cdms2.axis + +.. autofunction:: take diff --git a/docs/source/generated/cdms2.bindex.bindexHorizontalGrid.rst b/docs/source/generated/cdms2.bindex.bindexHorizontalGrid.rst new file mode 100644 index 00000000..fdffede1 --- /dev/null +++ b/docs/source/generated/cdms2.bindex.bindexHorizontalGrid.rst @@ -0,0 +1,6 @@ +cdms2.bindex +============ + +.. currentmodule:: cdms2.bindex + +.. autofunction:: bindexHorizontalGrid diff --git a/docs/source/generated/cdms2.bindex.intersectHorizontalGrid.rst b/docs/source/generated/cdms2.bindex.intersectHorizontalGrid.rst new file mode 100644 index 00000000..8f47af05 --- /dev/null +++ b/docs/source/generated/cdms2.bindex.intersectHorizontalGrid.rst @@ -0,0 +1,6 @@ +cdms2.bindex +============ + +.. currentmodule:: cdms2.bindex + +.. autofunction:: intersectHorizontalGrid diff --git a/docs/source/generated/cdms2.cache.Cache.clean.rst b/docs/source/generated/cdms2.cache.Cache.clean.rst new file mode 100644 index 00000000..c03d33b6 --- /dev/null +++ b/docs/source/generated/cdms2.cache.Cache.clean.rst @@ -0,0 +1,6 @@ +cdms2.cache:Cache +================= + +.. currentmodule:: cdms2.cache + +.. automethod:: Cache.clean diff --git a/docs/source/generated/cdms2.cache.Cache.copyFile.rst b/docs/source/generated/cdms2.cache.Cache.copyFile.rst new file mode 100644 index 00000000..c3d25605 --- /dev/null +++ b/docs/source/generated/cdms2.cache.Cache.copyFile.rst @@ -0,0 +1,6 @@ +cdms2.cache:Cache +================= + +.. currentmodule:: cdms2.cache + +.. automethod:: Cache.copyFile diff --git a/docs/source/generated/cdms2.cache.Cache.delete.rst b/docs/source/generated/cdms2.cache.Cache.delete.rst new file mode 100644 index 00000000..4b5fd1f0 --- /dev/null +++ b/docs/source/generated/cdms2.cache.Cache.delete.rst @@ -0,0 +1,6 @@ +cdms2.cache:Cache +================= + +.. currentmodule:: cdms2.cache + +.. automethod:: Cache.delete diff --git a/docs/source/generated/cdms2.cache.Cache.deleteEntry.rst b/docs/source/generated/cdms2.cache.Cache.deleteEntry.rst new file mode 100644 index 00000000..7d65a32f --- /dev/null +++ b/docs/source/generated/cdms2.cache.Cache.deleteEntry.rst @@ -0,0 +1,6 @@ +cdms2.cache:Cache +================= + +.. currentmodule:: cdms2.cache + +.. automethod:: Cache.deleteEntry diff --git a/docs/source/generated/cdms2.cache.Cache.get.rst b/docs/source/generated/cdms2.cache.Cache.get.rst new file mode 100644 index 00000000..7676981b --- /dev/null +++ b/docs/source/generated/cdms2.cache.Cache.get.rst @@ -0,0 +1,6 @@ +cdms2.cache:Cache +================= + +.. currentmodule:: cdms2.cache + +.. automethod:: Cache.get diff --git a/docs/source/generated/cdms2.cache.Cache.getFile.rst b/docs/source/generated/cdms2.cache.Cache.getFile.rst new file mode 100644 index 00000000..22fd36d0 --- /dev/null +++ b/docs/source/generated/cdms2.cache.Cache.getFile.rst @@ -0,0 +1,6 @@ +cdms2.cache:Cache +================= + +.. currentmodule:: cdms2.cache + +.. automethod:: Cache.getFile diff --git a/docs/source/generated/cdms2.cache.Cache.put.rst b/docs/source/generated/cdms2.cache.Cache.put.rst new file mode 100644 index 00000000..b0490823 --- /dev/null +++ b/docs/source/generated/cdms2.cache.Cache.put.rst @@ -0,0 +1,6 @@ +cdms2.cache:Cache +================= + +.. currentmodule:: cdms2.cache + +.. automethod:: Cache.put diff --git a/docs/source/generated/cdms2.cache.copyFile.rst b/docs/source/generated/cdms2.cache.copyFile.rst new file mode 100644 index 00000000..ce9ff869 --- /dev/null +++ b/docs/source/generated/cdms2.cache.copyFile.rst @@ -0,0 +1,6 @@ +cdms2.cache +=========== + +.. currentmodule:: cdms2.cache + +.. autofunction:: copyFile diff --git a/docs/source/generated/cdms2.cache.lock.rst b/docs/source/generated/cdms2.cache.lock.rst new file mode 100644 index 00000000..c49408eb --- /dev/null +++ b/docs/source/generated/cdms2.cache.lock.rst @@ -0,0 +1,6 @@ +cdms2.cache +=========== + +.. currentmodule:: cdms2.cache + +.. autofunction:: lock diff --git a/docs/source/generated/cdms2.cache.lockpath.rst b/docs/source/generated/cdms2.cache.lockpath.rst new file mode 100644 index 00000000..1e6f1120 --- /dev/null +++ b/docs/source/generated/cdms2.cache.lockpath.rst @@ -0,0 +1,6 @@ +cdms2.cache +=========== + +.. currentmodule:: cdms2.cache + +.. autofunction:: lockpath diff --git a/docs/source/generated/cdms2.cache.unlock.rst b/docs/source/generated/cdms2.cache.unlock.rst new file mode 100644 index 00000000..17cc4727 --- /dev/null +++ b/docs/source/generated/cdms2.cache.unlock.rst @@ -0,0 +1,6 @@ +cdms2.cache +=========== + +.. currentmodule:: cdms2.cache + +.. autofunction:: unlock diff --git a/docs/source/generated/cdms2.cache.useGlobusTransfer.rst b/docs/source/generated/cdms2.cache.useGlobusTransfer.rst new file mode 100644 index 00000000..aeb8064f --- /dev/null +++ b/docs/source/generated/cdms2.cache.useGlobusTransfer.rst @@ -0,0 +1,6 @@ +cdms2.cache +=========== + +.. currentmodule:: cdms2.cache + +.. autofunction:: useGlobusTransfer diff --git a/docs/source/generated/cdms2.cache.usePythonTransfer.rst b/docs/source/generated/cdms2.cache.usePythonTransfer.rst new file mode 100644 index 00000000..6906f0c0 --- /dev/null +++ b/docs/source/generated/cdms2.cache.usePythonTransfer.rst @@ -0,0 +1,6 @@ +cdms2.cache +=========== + +.. currentmodule:: cdms2.cache + +.. autofunction:: usePythonTransfer diff --git a/docs/source/generated/cdms2.cache.useRequestManagerTransfer.rst b/docs/source/generated/cdms2.cache.useRequestManagerTransfer.rst new file mode 100644 index 00000000..5084e76f --- /dev/null +++ b/docs/source/generated/cdms2.cache.useRequestManagerTransfer.rst @@ -0,0 +1,6 @@ +cdms2.cache +=========== + +.. currentmodule:: cdms2.cache + +.. autofunction:: useRequestManagerTransfer diff --git a/docs/source/generated/cdms2.cache.useTTY.rst b/docs/source/generated/cdms2.cache.useTTY.rst new file mode 100644 index 00000000..bb392776 --- /dev/null +++ b/docs/source/generated/cdms2.cache.useTTY.rst @@ -0,0 +1,6 @@ +cdms2.cache +=========== + +.. currentmodule:: cdms2.cache + +.. autofunction:: useTTY diff --git a/docs/source/generated/cdms2.cache.useWindow.rst b/docs/source/generated/cdms2.cache.useWindow.rst new file mode 100644 index 00000000..6c13e569 --- /dev/null +++ b/docs/source/generated/cdms2.cache.useWindow.rst @@ -0,0 +1,6 @@ +cdms2.cache +=========== + +.. currentmodule:: cdms2.cache + +.. autofunction:: useWindow diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener._open_generic_http.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener._open_generic_http.rst new file mode 100644 index 00000000..0a710c50 --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener._open_generic_http.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener._open_generic_http diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.addheader.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.addheader.rst new file mode 100644 index 00000000..7a502568 --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.addheader.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.addheader diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.http_error.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.http_error.rst new file mode 100644 index 00000000..b3dab6fb --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.http_error.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.http_error diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.http_error_default.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.http_error_default.rst new file mode 100644 index 00000000..7617befd --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.http_error_default.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.http_error_default diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.open.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.open.rst new file mode 100644 index 00000000..ba023f59 --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.open.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.open diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.open_data.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_data.rst new file mode 100644 index 00000000..e8821a21 --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_data.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.open_data diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.open_file.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_file.rst new file mode 100644 index 00000000..d188b166 --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_file.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.open_file diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.open_http.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_http.rst new file mode 100644 index 00000000..dff0ad90 --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_http.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.open_http diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.open_https.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_https.rst new file mode 100644 index 00000000..b33b4b36 --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_https.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.open_https diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.open_local_file.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_local_file.rst new file mode 100644 index 00000000..fbecf6fa --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_local_file.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.open_local_file diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.open_unknown.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_unknown.rst new file mode 100644 index 00000000..7d7795cb --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_unknown.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.open_unknown diff --git a/docs/source/generated/cdms2.cdurllib.CDURLopener.open_unknown_proxy.rst b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_unknown_proxy.rst new file mode 100644 index 00000000..65428393 --- /dev/null +++ b/docs/source/generated/cdms2.cdurllib.CDURLopener.open_unknown_proxy.rst @@ -0,0 +1,6 @@ +cdms2.cdurllib:CDURLopener +========================== + +.. currentmodule:: cdms2.cdurllib + +.. automethod:: CDURLopener.open_unknown_proxy diff --git a/docs/source/generated/cdms2.cdurlparse.clear_cache.rst b/docs/source/generated/cdms2.cdurlparse.clear_cache.rst new file mode 100644 index 00000000..e8b7365f --- /dev/null +++ b/docs/source/generated/cdms2.cdurlparse.clear_cache.rst @@ -0,0 +1,6 @@ +cdms2.cdurlparse +================ + +.. currentmodule:: cdms2.cdurlparse + +.. autofunction:: clear_cache diff --git a/docs/source/generated/cdms2.cdurlparse.test.rst b/docs/source/generated/cdms2.cdurlparse.test.rst new file mode 100644 index 00000000..307d10d6 --- /dev/null +++ b/docs/source/generated/cdms2.cdurlparse.test.rst @@ -0,0 +1,6 @@ +cdms2.cdurlparse +================ + +.. currentmodule:: cdms2.cdurlparse + +.. autofunction:: test diff --git a/docs/source/generated/cdms2.cdurlparse.urldefrag.rst b/docs/source/generated/cdms2.cdurlparse.urldefrag.rst new file mode 100644 index 00000000..fe79673e --- /dev/null +++ b/docs/source/generated/cdms2.cdurlparse.urldefrag.rst @@ -0,0 +1,6 @@ +cdms2.cdurlparse +================ + +.. currentmodule:: cdms2.cdurlparse + +.. autofunction:: urldefrag diff --git a/docs/source/generated/cdms2.cdurlparse.urljoin.rst b/docs/source/generated/cdms2.cdurlparse.urljoin.rst new file mode 100644 index 00000000..e1762622 --- /dev/null +++ b/docs/source/generated/cdms2.cdurlparse.urljoin.rst @@ -0,0 +1,6 @@ +cdms2.cdurlparse +================ + +.. currentmodule:: cdms2.cdurlparse + +.. autofunction:: urljoin diff --git a/docs/source/generated/cdms2.cdurlparse.urlparse.rst b/docs/source/generated/cdms2.cdurlparse.urlparse.rst new file mode 100644 index 00000000..331c0364 --- /dev/null +++ b/docs/source/generated/cdms2.cdurlparse.urlparse.rst @@ -0,0 +1,6 @@ +cdms2.cdurlparse +================ + +.. currentmodule:: cdms2.cdurlparse + +.. autofunction:: urlparse diff --git a/docs/source/generated/cdms2.cdurlparse.urlunparse.rst b/docs/source/generated/cdms2.cdurlparse.urlunparse.rst new file mode 100644 index 00000000..2265dd19 --- /dev/null +++ b/docs/source/generated/cdms2.cdurlparse.urlunparse.rst @@ -0,0 +1,6 @@ +cdms2.cdurlparse +================ + +.. currentmodule:: cdms2.cdurlparse + +.. autofunction:: urlunparse diff --git a/docs/source/generated/cdms2.convention.CFConvention.getAxisAuxIds.rst b/docs/source/generated/cdms2.convention.CFConvention.getAxisAuxIds.rst new file mode 100644 index 00000000..6583fef4 --- /dev/null +++ b/docs/source/generated/cdms2.convention.CFConvention.getAxisAuxIds.rst @@ -0,0 +1,6 @@ +cdms2.convention:CFConvention +============================= + +.. currentmodule:: cdms2.convention + +.. automethod:: CFConvention.getAxisAuxIds diff --git a/docs/source/generated/cdms2.convention.CFConvention.getAxisIds.rst b/docs/source/generated/cdms2.convention.CFConvention.getAxisIds.rst new file mode 100644 index 00000000..94bb884e --- /dev/null +++ b/docs/source/generated/cdms2.convention.CFConvention.getAxisIds.rst @@ -0,0 +1,6 @@ +cdms2.convention:CFConvention +============================= + +.. currentmodule:: cdms2.convention + +.. automethod:: CFConvention.getAxisIds diff --git a/docs/source/generated/cdms2.convention.CFConvention.getDsetnodeAuxAxisIds.rst b/docs/source/generated/cdms2.convention.CFConvention.getDsetnodeAuxAxisIds.rst new file mode 100644 index 00000000..3139114f --- /dev/null +++ b/docs/source/generated/cdms2.convention.CFConvention.getDsetnodeAuxAxisIds.rst @@ -0,0 +1,6 @@ +cdms2.convention:CFConvention +============================= + +.. currentmodule:: cdms2.convention + +.. automethod:: CFConvention.getDsetnodeAuxAxisIds diff --git a/docs/source/generated/cdms2.convention.CFConvention.getVariableBounds.rst b/docs/source/generated/cdms2.convention.CFConvention.getVariableBounds.rst new file mode 100644 index 00000000..c6650e25 --- /dev/null +++ b/docs/source/generated/cdms2.convention.CFConvention.getVariableBounds.rst @@ -0,0 +1,6 @@ +cdms2.convention:CFConvention +============================= + +.. currentmodule:: cdms2.convention + +.. automethod:: CFConvention.getVariableBounds diff --git a/docs/source/generated/cdms2.convention.COARDSConvention.getAxisIds.rst b/docs/source/generated/cdms2.convention.COARDSConvention.getAxisIds.rst new file mode 100644 index 00000000..c15cd92b --- /dev/null +++ b/docs/source/generated/cdms2.convention.COARDSConvention.getAxisIds.rst @@ -0,0 +1,6 @@ +cdms2.convention:COARDSConvention +================================= + +.. currentmodule:: cdms2.convention + +.. automethod:: COARDSConvention.getAxisIds diff --git a/docs/source/generated/cdms2.convention.NUGConvention.getAxisIds.rst b/docs/source/generated/cdms2.convention.NUGConvention.getAxisIds.rst new file mode 100644 index 00000000..3b03ba0c --- /dev/null +++ b/docs/source/generated/cdms2.convention.NUGConvention.getAxisIds.rst @@ -0,0 +1,6 @@ +cdms2.convention:NUGConvention +============================== + +.. currentmodule:: cdms2.convention + +.. automethod:: NUGConvention.getAxisIds diff --git a/docs/source/generated/cdms2.convention.getDatasetConvention.rst b/docs/source/generated/cdms2.convention.getDatasetConvention.rst new file mode 100644 index 00000000..9ae1b8ee --- /dev/null +++ b/docs/source/generated/cdms2.convention.getDatasetConvention.rst @@ -0,0 +1,6 @@ +cdms2.convention +================ + +.. currentmodule:: cdms2.convention + +.. autofunction:: getDatasetConvention diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.__call__.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.__call__.rst new file mode 100644 index 00000000..1b5ac285 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.__call__.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.__call__ diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.__getitem__.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.__getitem__.rst new file mode 100644 index 00000000..bde84212 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.__getitem__.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.__getitem__ diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset._v.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset._v.rst new file mode 100644 index 00000000..2d97463b --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset._v.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset._v diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.cleardefault.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.cleardefault.rst new file mode 100644 index 00000000..e3f0aba1 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.cleardefault.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.cleardefault diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.default_variable.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.default_variable.rst new file mode 100644 index 00000000..5fa8e86a --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.default_variable.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.default_variable diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.dimensionarray.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.dimensionarray.rst new file mode 100644 index 00000000..6ec31f1a --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.dimensionarray.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.dimensionarray diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.dimensionobject.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.dimensionobject.rst new file mode 100644 index 00000000..c32e0d07 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.dimensionobject.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.dimensionobject diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.getattribute.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.getattribute.rst new file mode 100644 index 00000000..e3c30cb0 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.getattribute.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.getattribute diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.getdimensionunits.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.getdimensionunits.rst new file mode 100644 index 00000000..448a86a6 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.getdimensionunits.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.getdimensionunits diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.getglobal.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.getglobal.rst new file mode 100644 index 00000000..ed5e5f79 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.getglobal.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.getglobal diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.getslab.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.getslab.rst new file mode 100644 index 00000000..72dfb87c --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.getslab.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.getslab diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.listall.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.listall.rst new file mode 100644 index 00000000..9dee43bf --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.listall.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.listall diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.listattribute.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.listattribute.rst new file mode 100644 index 00000000..7c0082e3 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.listattribute.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.listattribute diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.listdimension.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.listdimension.rst new file mode 100644 index 00000000..e29d2a5b --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.listdimension.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.listdimension diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.listglobal.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.listglobal.rst new file mode 100644 index 00000000..72a9acbb --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.listglobal.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.listglobal diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.listvariable.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.listvariable.rst new file mode 100644 index 00000000..70a934d4 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.listvariable.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.listvariable diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.listvariables.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.listvariables.rst new file mode 100644 index 00000000..6810c4bd --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.listvariables.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.listvariables diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.readScripGrid.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.readScripGrid.rst new file mode 100644 index 00000000..13c0c676 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.readScripGrid.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.readScripGrid diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.showall.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.showall.rst new file mode 100644 index 00000000..462ebaed --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.showall.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.showall diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.showattribute.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.showattribute.rst new file mode 100644 index 00000000..dc9c7ffd --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.showattribute.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.showattribute diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.showdimension.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.showdimension.rst new file mode 100644 index 00000000..db1a7889 --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.showdimension.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.showdimension diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.showglobal.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.showglobal.rst new file mode 100644 index 00000000..b9b1735b --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.showglobal.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.showglobal diff --git a/docs/source/generated/cdms2.cudsinterface.cuDataset.showvariable.rst b/docs/source/generated/cdms2.cudsinterface.cuDataset.showvariable.rst new file mode 100644 index 00000000..9347494f --- /dev/null +++ b/docs/source/generated/cdms2.cudsinterface.cuDataset.showvariable.rst @@ -0,0 +1,6 @@ +cdms2.cudsinterface:cuDataset +============================= + +.. currentmodule:: cdms2.cudsinterface + +.. automethod:: cuDataset.showvariable diff --git a/docs/source/generated/cdms2.database.AbstractDatabase.dump.rst b/docs/source/generated/cdms2.database.AbstractDatabase.dump.rst new file mode 100644 index 00000000..695fb3d7 --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractDatabase.dump.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractDatabase +=============================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractDatabase.dump diff --git a/docs/source/generated/cdms2.database.AbstractDatabase.matchPattern.rst b/docs/source/generated/cdms2.database.AbstractDatabase.matchPattern.rst new file mode 100644 index 00000000..656379ef --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractDatabase.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractDatabase +=============================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractDatabase.matchPattern diff --git a/docs/source/generated/cdms2.database.AbstractDatabase.matchone.rst b/docs/source/generated/cdms2.database.AbstractDatabase.matchone.rst new file mode 100644 index 00000000..1776806e --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractDatabase.matchone.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractDatabase +=============================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractDatabase.matchone diff --git a/docs/source/generated/cdms2.database.AbstractDatabase.searchPattern.rst b/docs/source/generated/cdms2.database.AbstractDatabase.searchPattern.rst new file mode 100644 index 00000000..c9416223 --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractDatabase.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractDatabase +=============================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractDatabase.searchPattern diff --git a/docs/source/generated/cdms2.database.AbstractDatabase.searchPredicate.rst b/docs/source/generated/cdms2.database.AbstractDatabase.searchPredicate.rst new file mode 100644 index 00000000..84e383d3 --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractDatabase.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractDatabase +=============================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractDatabase.searchPredicate diff --git a/docs/source/generated/cdms2.database.AbstractDatabase.searchone.rst b/docs/source/generated/cdms2.database.AbstractDatabase.searchone.rst new file mode 100644 index 00000000..0c67ed3d --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractDatabase.searchone.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractDatabase +=============================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractDatabase.searchone diff --git a/docs/source/generated/cdms2.database.AbstractResultEntry.getObject.rst b/docs/source/generated/cdms2.database.AbstractResultEntry.getObject.rst new file mode 100644 index 00000000..bf8d4400 --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractResultEntry.getObject.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractResultEntry +================================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractResultEntry.getObject diff --git a/docs/source/generated/cdms2.database.AbstractSearchResult.__getitem__.rst b/docs/source/generated/cdms2.database.AbstractSearchResult.__getitem__.rst new file mode 100644 index 00000000..bd76ffc0 --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractSearchResult.__getitem__.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractSearchResult +=================================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractSearchResult.__getitem__ diff --git a/docs/source/generated/cdms2.database.AbstractSearchResult.__len__.rst b/docs/source/generated/cdms2.database.AbstractSearchResult.__len__.rst new file mode 100644 index 00000000..90e7a64f --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractSearchResult.__len__.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractSearchResult +=================================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractSearchResult.__len__ diff --git a/docs/source/generated/cdms2.database.AbstractSearchResult.searchPredicate.rst b/docs/source/generated/cdms2.database.AbstractSearchResult.searchPredicate.rst new file mode 100644 index 00000000..8e45863f --- /dev/null +++ b/docs/source/generated/cdms2.database.AbstractSearchResult.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.database:AbstractSearchResult +=================================== + +.. currentmodule:: cdms2.database + +.. automethod:: AbstractSearchResult.searchPredicate diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.close.rst b/docs/source/generated/cdms2.database.LDAPDatabase.close.rst new file mode 100644 index 00000000..b78d127b --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.close.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.close diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.dump.rst b/docs/source/generated/cdms2.database.LDAPDatabase.dump.rst new file mode 100644 index 00000000..894dd450 --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.dump.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.dump diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.listDatasets.rst b/docs/source/generated/cdms2.database.LDAPDatabase.listDatasets.rst new file mode 100644 index 00000000..515c0c83 --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.listDatasets.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.listDatasets diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.matchPattern.rst b/docs/source/generated/cdms2.database.LDAPDatabase.matchPattern.rst new file mode 100644 index 00000000..5fb35485 --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.matchPattern diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.matchone.rst b/docs/source/generated/cdms2.database.LDAPDatabase.matchone.rst new file mode 100644 index 00000000..6370b6de --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.matchone.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.matchone diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.open.rst b/docs/source/generated/cdms2.database.LDAPDatabase.open.rst new file mode 100644 index 00000000..be1a703a --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.open.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.open diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.openDataset.rst b/docs/source/generated/cdms2.database.LDAPDatabase.openDataset.rst new file mode 100644 index 00000000..602a9ba2 --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.openDataset.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.openDataset diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.searchFilter.rst b/docs/source/generated/cdms2.database.LDAPDatabase.searchFilter.rst new file mode 100644 index 00000000..891f985d --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.searchFilter.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.searchFilter diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.searchPattern.rst b/docs/source/generated/cdms2.database.LDAPDatabase.searchPattern.rst new file mode 100644 index 00000000..0d543cfd --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.searchPattern diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.searchPredicate.rst b/docs/source/generated/cdms2.database.LDAPDatabase.searchPredicate.rst new file mode 100644 index 00000000..d0f813a5 --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.searchPredicate diff --git a/docs/source/generated/cdms2.database.LDAPDatabase.searchone.rst b/docs/source/generated/cdms2.database.LDAPDatabase.searchone.rst new file mode 100644 index 00000000..ff05a514 --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPDatabase.searchone.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPDatabase +=========================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPDatabase.searchone diff --git a/docs/source/generated/cdms2.database.LDAPSearchResult.searchPredicate.rst b/docs/source/generated/cdms2.database.LDAPSearchResult.searchPredicate.rst new file mode 100644 index 00000000..5d033896 --- /dev/null +++ b/docs/source/generated/cdms2.database.LDAPSearchResult.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.database:LDAPSearchResult +=============================== + +.. currentmodule:: cdms2.database + +.. automethod:: LDAPSearchResult.searchPredicate diff --git a/docs/source/generated/cdms2.database.connect.rst b/docs/source/generated/cdms2.database.connect.rst new file mode 100644 index 00000000..e97aebc6 --- /dev/null +++ b/docs/source/generated/cdms2.database.connect.rst @@ -0,0 +1,6 @@ +cdms2.database +============== + +.. currentmodule:: cdms2.database + +.. autofunction:: connect diff --git a/docs/source/generated/cdms2.database.loadString.rst b/docs/source/generated/cdms2.database.loadString.rst new file mode 100644 index 00000000..ed4d741f --- /dev/null +++ b/docs/source/generated/cdms2.database.loadString.rst @@ -0,0 +1,6 @@ +cdms2.database +============== + +.. currentmodule:: cdms2.database + +.. autofunction:: loadString diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.__call__.rst b/docs/source/generated/cdms2.dataset.CdmsFile.__call__.rst new file mode 100644 index 00000000..290a95dd --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.__call__.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.__call__ diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.__getitem__.rst b/docs/source/generated/cdms2.dataset.CdmsFile.__getitem__.rst new file mode 100644 index 00000000..37859537 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.__getitem__.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.__getitem__ diff --git a/docs/source/generated/cdms2.dataset.CdmsFile._v.rst b/docs/source/generated/cdms2.dataset.CdmsFile._v.rst new file mode 100644 index 00000000..d48a03c6 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile._v.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile._v diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.cleardefault.rst b/docs/source/generated/cdms2.dataset.CdmsFile.cleardefault.rst new file mode 100644 index 00000000..32b2a12b --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.cleardefault.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.cleardefault diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.copyAxis.rst b/docs/source/generated/cdms2.dataset.CdmsFile.copyAxis.rst new file mode 100644 index 00000000..218b8d9a --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.copyAxis.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.copyAxis diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.copyGrid.rst b/docs/source/generated/cdms2.dataset.CdmsFile.copyGrid.rst new file mode 100644 index 00000000..27136138 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.copyGrid.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.copyGrid diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.createAxis.rst b/docs/source/generated/cdms2.dataset.CdmsFile.createAxis.rst new file mode 100644 index 00000000..72f9a037 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.createAxis.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.createAxis diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.createRectGrid.rst b/docs/source/generated/cdms2.dataset.CdmsFile.createRectGrid.rst new file mode 100644 index 00000000..6f1e8728 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.createRectGrid.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.createRectGrid diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.createVariable.rst b/docs/source/generated/cdms2.dataset.CdmsFile.createVariable.rst new file mode 100644 index 00000000..15375668 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.createVariable.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.createVariable diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.createVariableCopy.rst b/docs/source/generated/cdms2.dataset.CdmsFile.createVariableCopy.rst new file mode 100644 index 00000000..079b941a --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.createVariableCopy.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.createVariableCopy diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.createVirtualAxis.rst b/docs/source/generated/cdms2.dataset.CdmsFile.createVirtualAxis.rst new file mode 100644 index 00000000..4dd12ad9 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.createVirtualAxis.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.createVirtualAxis diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.default_variable.rst b/docs/source/generated/cdms2.dataset.CdmsFile.default_variable.rst new file mode 100644 index 00000000..430e918b --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.default_variable.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.default_variable diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.dimensionarray.rst b/docs/source/generated/cdms2.dataset.CdmsFile.dimensionarray.rst new file mode 100644 index 00000000..5ba2ae26 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.dimensionarray.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.dimensionarray diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.dimensionobject.rst b/docs/source/generated/cdms2.dataset.CdmsFile.dimensionobject.rst new file mode 100644 index 00000000..7dcb2285 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.dimensionobject.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.dimensionobject diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.dump.rst b/docs/source/generated/cdms2.dataset.CdmsFile.dump.rst new file mode 100644 index 00000000..e4090726 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.dump.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.dump diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.getAxis.rst b/docs/source/generated/cdms2.dataset.CdmsFile.getAxis.rst new file mode 100644 index 00000000..ea7b2b51 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.getAxis diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.getBoundsAxis.rst b/docs/source/generated/cdms2.dataset.CdmsFile.getBoundsAxis.rst new file mode 100644 index 00000000..077ffc2a --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.getBoundsAxis.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.getBoundsAxis diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.getGrid.rst b/docs/source/generated/cdms2.dataset.CdmsFile.getGrid.rst new file mode 100644 index 00000000..2e94e51c --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.getGrid.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.getGrid diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.getVariable.rst b/docs/source/generated/cdms2.dataset.CdmsFile.getVariable.rst new file mode 100644 index 00000000..34a5814a --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.getVariable.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.getVariable diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.getVariables.rst b/docs/source/generated/cdms2.dataset.CdmsFile.getVariables.rst new file mode 100644 index 00000000..1f019d15 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.getVariables.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.getVariables diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.getattribute.rst b/docs/source/generated/cdms2.dataset.CdmsFile.getattribute.rst new file mode 100644 index 00000000..c030225e --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.getattribute.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.getattribute diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.getdimensionunits.rst b/docs/source/generated/cdms2.dataset.CdmsFile.getdimensionunits.rst new file mode 100644 index 00000000..740bc31c --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.getdimensionunits.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.getdimensionunits diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.getglobal.rst b/docs/source/generated/cdms2.dataset.CdmsFile.getglobal.rst new file mode 100644 index 00000000..49b2a5ca --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.getglobal.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.getglobal diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.getslab.rst b/docs/source/generated/cdms2.dataset.CdmsFile.getslab.rst new file mode 100644 index 00000000..017c482e --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.getslab.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.getslab diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.listall.rst b/docs/source/generated/cdms2.dataset.CdmsFile.listall.rst new file mode 100644 index 00000000..5db858c3 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.listall.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.listall diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.listattribute.rst b/docs/source/generated/cdms2.dataset.CdmsFile.listattribute.rst new file mode 100644 index 00000000..8461cfac --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.listattribute.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.listattribute diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.listdimension.rst b/docs/source/generated/cdms2.dataset.CdmsFile.listdimension.rst new file mode 100644 index 00000000..eb81dabe --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.listdimension.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.listdimension diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.listglobal.rst b/docs/source/generated/cdms2.dataset.CdmsFile.listglobal.rst new file mode 100644 index 00000000..1aa2fc94 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.listglobal.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.listglobal diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.listvariable.rst b/docs/source/generated/cdms2.dataset.CdmsFile.listvariable.rst new file mode 100644 index 00000000..f105678d --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.listvariable.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.listvariable diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.listvariables.rst b/docs/source/generated/cdms2.dataset.CdmsFile.listvariables.rst new file mode 100644 index 00000000..131744e0 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.listvariables.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.listvariables diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.matchPattern.rst b/docs/source/generated/cdms2.dataset.CdmsFile.matchPattern.rst new file mode 100644 index 00000000..34a5fdce --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.matchPattern diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.matchone.rst b/docs/source/generated/cdms2.dataset.CdmsFile.matchone.rst new file mode 100644 index 00000000..3f11bc79 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.matchone.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.matchone diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.readScripGrid.rst b/docs/source/generated/cdms2.dataset.CdmsFile.readScripGrid.rst new file mode 100644 index 00000000..1751d009 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.readScripGrid.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.readScripGrid diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.searchPattern.rst b/docs/source/generated/cdms2.dataset.CdmsFile.searchPattern.rst new file mode 100644 index 00000000..434016db --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.searchPattern diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.searchPredicate.rst b/docs/source/generated/cdms2.dataset.CdmsFile.searchPredicate.rst new file mode 100644 index 00000000..19c60db9 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.searchPredicate diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.searchone.rst b/docs/source/generated/cdms2.dataset.CdmsFile.searchone.rst new file mode 100644 index 00000000..e5c77092 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.searchone.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.searchone diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.showall.rst b/docs/source/generated/cdms2.dataset.CdmsFile.showall.rst new file mode 100644 index 00000000..cc1971ef --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.showall.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.showall diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.showattribute.rst b/docs/source/generated/cdms2.dataset.CdmsFile.showattribute.rst new file mode 100644 index 00000000..4c3b1a22 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.showattribute.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.showattribute diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.showdimension.rst b/docs/source/generated/cdms2.dataset.CdmsFile.showdimension.rst new file mode 100644 index 00000000..410d114d --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.showdimension.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.showdimension diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.showglobal.rst b/docs/source/generated/cdms2.dataset.CdmsFile.showglobal.rst new file mode 100644 index 00000000..7df082a9 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.showglobal.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.showglobal diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.showvariable.rst b/docs/source/generated/cdms2.dataset.CdmsFile.showvariable.rst new file mode 100644 index 00000000..2ed76621 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.showvariable.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.showvariable diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.sync.rst b/docs/source/generated/cdms2.dataset.CdmsFile.sync.rst new file mode 100644 index 00000000..7d28af63 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.sync.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.sync diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.write.rst b/docs/source/generated/cdms2.dataset.CdmsFile.write.rst new file mode 100644 index 00000000..53ee71e5 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.write.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.write diff --git a/docs/source/generated/cdms2.dataset.CdmsFile.write_it_yourself.rst b/docs/source/generated/cdms2.dataset.CdmsFile.write_it_yourself.rst new file mode 100644 index 00000000..03b8246c --- /dev/null +++ b/docs/source/generated/cdms2.dataset.CdmsFile.write_it_yourself.rst @@ -0,0 +1,6 @@ +cdms2.dataset:CdmsFile +====================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: CdmsFile.write_it_yourself diff --git a/docs/source/generated/cdms2.dataset.Dataset.__call__.rst b/docs/source/generated/cdms2.dataset.Dataset.__call__.rst new file mode 100644 index 00000000..80d455ed --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.__call__.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.__call__ diff --git a/docs/source/generated/cdms2.dataset.Dataset.__getitem__.rst b/docs/source/generated/cdms2.dataset.Dataset.__getitem__.rst new file mode 100644 index 00000000..26be9a0e --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.__getitem__.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.__getitem__ diff --git a/docs/source/generated/cdms2.dataset.Dataset._v.rst b/docs/source/generated/cdms2.dataset.Dataset._v.rst new file mode 100644 index 00000000..17cd0c78 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset._v.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset._v diff --git a/docs/source/generated/cdms2.dataset.Dataset.cleardefault.rst b/docs/source/generated/cdms2.dataset.Dataset.cleardefault.rst new file mode 100644 index 00000000..a0ead48c --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.cleardefault.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.cleardefault diff --git a/docs/source/generated/cdms2.dataset.Dataset.default_variable.rst b/docs/source/generated/cdms2.dataset.Dataset.default_variable.rst new file mode 100644 index 00000000..278b3dc3 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.default_variable.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.default_variable diff --git a/docs/source/generated/cdms2.dataset.Dataset.dimensionarray.rst b/docs/source/generated/cdms2.dataset.Dataset.dimensionarray.rst new file mode 100644 index 00000000..ab4222dd --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.dimensionarray.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.dimensionarray diff --git a/docs/source/generated/cdms2.dataset.Dataset.dimensionobject.rst b/docs/source/generated/cdms2.dataset.Dataset.dimensionobject.rst new file mode 100644 index 00000000..5bf1283e --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.dimensionobject.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.dimensionobject diff --git a/docs/source/generated/cdms2.dataset.Dataset.dump.rst b/docs/source/generated/cdms2.dataset.Dataset.dump.rst new file mode 100644 index 00000000..990b680c --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.dump.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.dump diff --git a/docs/source/generated/cdms2.dataset.Dataset.getAxis.rst b/docs/source/generated/cdms2.dataset.Dataset.getAxis.rst new file mode 100644 index 00000000..57640e09 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getAxis diff --git a/docs/source/generated/cdms2.dataset.Dataset.getConvention.rst b/docs/source/generated/cdms2.dataset.Dataset.getConvention.rst new file mode 100644 index 00000000..3ce569d6 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getConvention.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getConvention diff --git a/docs/source/generated/cdms2.dataset.Dataset.getGrid.rst b/docs/source/generated/cdms2.dataset.Dataset.getGrid.rst new file mode 100644 index 00000000..02673ea0 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getGrid.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getGrid diff --git a/docs/source/generated/cdms2.dataset.Dataset.getLogicalCollectionDN.rst b/docs/source/generated/cdms2.dataset.Dataset.getLogicalCollectionDN.rst new file mode 100644 index 00000000..76eb0d9a --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getLogicalCollectionDN.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getLogicalCollectionDN diff --git a/docs/source/generated/cdms2.dataset.Dataset.getVariable.rst b/docs/source/generated/cdms2.dataset.Dataset.getVariable.rst new file mode 100644 index 00000000..d9b414b9 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getVariable.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getVariable diff --git a/docs/source/generated/cdms2.dataset.Dataset.getVariables.rst b/docs/source/generated/cdms2.dataset.Dataset.getVariables.rst new file mode 100644 index 00000000..ad2caf6e --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getVariables.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getVariables diff --git a/docs/source/generated/cdms2.dataset.Dataset.getattribute.rst b/docs/source/generated/cdms2.dataset.Dataset.getattribute.rst new file mode 100644 index 00000000..2ef91e41 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getattribute.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getattribute diff --git a/docs/source/generated/cdms2.dataset.Dataset.getdimensionunits.rst b/docs/source/generated/cdms2.dataset.Dataset.getdimensionunits.rst new file mode 100644 index 00000000..c0393a75 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getdimensionunits.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getdimensionunits diff --git a/docs/source/generated/cdms2.dataset.Dataset.getglobal.rst b/docs/source/generated/cdms2.dataset.Dataset.getglobal.rst new file mode 100644 index 00000000..5c842bad --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getglobal.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getglobal diff --git a/docs/source/generated/cdms2.dataset.Dataset.getslab.rst b/docs/source/generated/cdms2.dataset.Dataset.getslab.rst new file mode 100644 index 00000000..554d4e61 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.getslab.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.getslab diff --git a/docs/source/generated/cdms2.dataset.Dataset.listall.rst b/docs/source/generated/cdms2.dataset.Dataset.listall.rst new file mode 100644 index 00000000..1bec6e02 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.listall.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.listall diff --git a/docs/source/generated/cdms2.dataset.Dataset.listattribute.rst b/docs/source/generated/cdms2.dataset.Dataset.listattribute.rst new file mode 100644 index 00000000..b211747a --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.listattribute.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.listattribute diff --git a/docs/source/generated/cdms2.dataset.Dataset.listdimension.rst b/docs/source/generated/cdms2.dataset.Dataset.listdimension.rst new file mode 100644 index 00000000..38f19ccd --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.listdimension.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.listdimension diff --git a/docs/source/generated/cdms2.dataset.Dataset.listglobal.rst b/docs/source/generated/cdms2.dataset.Dataset.listglobal.rst new file mode 100644 index 00000000..5a4097a0 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.listglobal.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.listglobal diff --git a/docs/source/generated/cdms2.dataset.Dataset.listvariable.rst b/docs/source/generated/cdms2.dataset.Dataset.listvariable.rst new file mode 100644 index 00000000..acab1b69 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.listvariable.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.listvariable diff --git a/docs/source/generated/cdms2.dataset.Dataset.listvariables.rst b/docs/source/generated/cdms2.dataset.Dataset.listvariables.rst new file mode 100644 index 00000000..81bf6ef5 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.listvariables.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.listvariables diff --git a/docs/source/generated/cdms2.dataset.Dataset.matchone.rst b/docs/source/generated/cdms2.dataset.Dataset.matchone.rst new file mode 100644 index 00000000..4e0fec4b --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.matchone.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.matchone diff --git a/docs/source/generated/cdms2.dataset.Dataset.readScripGrid.rst b/docs/source/generated/cdms2.dataset.Dataset.readScripGrid.rst new file mode 100644 index 00000000..f366bca3 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.readScripGrid.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.readScripGrid diff --git a/docs/source/generated/cdms2.dataset.Dataset.searchone.rst b/docs/source/generated/cdms2.dataset.Dataset.searchone.rst new file mode 100644 index 00000000..d38ec57a --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.searchone.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.searchone diff --git a/docs/source/generated/cdms2.dataset.Dataset.showall.rst b/docs/source/generated/cdms2.dataset.Dataset.showall.rst new file mode 100644 index 00000000..2301ac75 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.showall.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.showall diff --git a/docs/source/generated/cdms2.dataset.Dataset.showattribute.rst b/docs/source/generated/cdms2.dataset.Dataset.showattribute.rst new file mode 100644 index 00000000..2000feda --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.showattribute.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.showattribute diff --git a/docs/source/generated/cdms2.dataset.Dataset.showdimension.rst b/docs/source/generated/cdms2.dataset.Dataset.showdimension.rst new file mode 100644 index 00000000..7bdf6456 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.showdimension.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.showdimension diff --git a/docs/source/generated/cdms2.dataset.Dataset.showglobal.rst b/docs/source/generated/cdms2.dataset.Dataset.showglobal.rst new file mode 100644 index 00000000..712ea3a3 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.showglobal.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.showglobal diff --git a/docs/source/generated/cdms2.dataset.Dataset.showvariable.rst b/docs/source/generated/cdms2.dataset.Dataset.showvariable.rst new file mode 100644 index 00000000..07f1c71a --- /dev/null +++ b/docs/source/generated/cdms2.dataset.Dataset.showvariable.rst @@ -0,0 +1,6 @@ +cdms2.dataset:Dataset +===================== + +.. currentmodule:: cdms2.dataset + +.. automethod:: Dataset.showvariable diff --git a/docs/source/generated/cdms2.dataset.asVariable.rst b/docs/source/generated/cdms2.dataset.asVariable.rst new file mode 100644 index 00000000..1969efe7 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.asVariable.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: asVariable diff --git a/docs/source/generated/cdms2.dataset.createDataset.rst b/docs/source/generated/cdms2.dataset.createDataset.rst new file mode 100644 index 00000000..0d70e3f4 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.createDataset.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: createDataset diff --git a/docs/source/generated/cdms2.dataset.getMpiRank.rst b/docs/source/generated/cdms2.dataset.getMpiRank.rst new file mode 100644 index 00000000..3db00733 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.getMpiRank.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: getMpiRank diff --git a/docs/source/generated/cdms2.dataset.getMpiSize.rst b/docs/source/generated/cdms2.dataset.getMpiSize.rst new file mode 100644 index 00000000..0c51627d --- /dev/null +++ b/docs/source/generated/cdms2.dataset.getMpiSize.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: getMpiSize diff --git a/docs/source/generated/cdms2.dataset.getNetcdf4Flag.rst b/docs/source/generated/cdms2.dataset.getNetcdf4Flag.rst new file mode 100644 index 00000000..d42d3edc --- /dev/null +++ b/docs/source/generated/cdms2.dataset.getNetcdf4Flag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: getNetcdf4Flag diff --git a/docs/source/generated/cdms2.dataset.getNetcdfClassicFlag.rst b/docs/source/generated/cdms2.dataset.getNetcdfClassicFlag.rst new file mode 100644 index 00000000..ead47a46 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.getNetcdfClassicFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: getNetcdfClassicFlag diff --git a/docs/source/generated/cdms2.dataset.getNetcdfDeflateFlag.rst b/docs/source/generated/cdms2.dataset.getNetcdfDeflateFlag.rst new file mode 100644 index 00000000..149ca18b --- /dev/null +++ b/docs/source/generated/cdms2.dataset.getNetcdfDeflateFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: getNetcdfDeflateFlag diff --git a/docs/source/generated/cdms2.dataset.getNetcdfDeflateLevelFlag.rst b/docs/source/generated/cdms2.dataset.getNetcdfDeflateLevelFlag.rst new file mode 100644 index 00000000..1605c28c --- /dev/null +++ b/docs/source/generated/cdms2.dataset.getNetcdfDeflateLevelFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: getNetcdfDeflateLevelFlag diff --git a/docs/source/generated/cdms2.dataset.getNetcdfShuffleFlag.rst b/docs/source/generated/cdms2.dataset.getNetcdfShuffleFlag.rst new file mode 100644 index 00000000..c942c8c9 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.getNetcdfShuffleFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: getNetcdfShuffleFlag diff --git a/docs/source/generated/cdms2.dataset.getNetcdfUseNCSwitchModeFlag.rst b/docs/source/generated/cdms2.dataset.getNetcdfUseNCSwitchModeFlag.rst new file mode 100644 index 00000000..2f6e2bc2 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.getNetcdfUseNCSwitchModeFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: getNetcdfUseNCSwitchModeFlag diff --git a/docs/source/generated/cdms2.dataset.getNetcdfUseParallelFlag.rst b/docs/source/generated/cdms2.dataset.getNetcdfUseParallelFlag.rst new file mode 100644 index 00000000..8f8b9303 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.getNetcdfUseParallelFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: getNetcdfUseParallelFlag diff --git a/docs/source/generated/cdms2.dataset.isOverlapVector.rst b/docs/source/generated/cdms2.dataset.isOverlapVector.rst new file mode 100644 index 00000000..a1751b71 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.isOverlapVector.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: isOverlapVector diff --git a/docs/source/generated/cdms2.dataset.load.rst b/docs/source/generated/cdms2.dataset.load.rst new file mode 100644 index 00000000..53479742 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.load.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: load diff --git a/docs/source/generated/cdms2.dataset.loadURI.rst b/docs/source/generated/cdms2.dataset.loadURI.rst new file mode 100644 index 00000000..c34080f8 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.loadURI.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: loadURI diff --git a/docs/source/generated/cdms2.dataset.openDataset.rst b/docs/source/generated/cdms2.dataset.openDataset.rst new file mode 100644 index 00000000..fadcb7df --- /dev/null +++ b/docs/source/generated/cdms2.dataset.openDataset.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: openDataset diff --git a/docs/source/generated/cdms2.dataset.parseFileMap.rst b/docs/source/generated/cdms2.dataset.parseFileMap.rst new file mode 100644 index 00000000..40e57151 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.parseFileMap.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: parseFileMap diff --git a/docs/source/generated/cdms2.dataset.parseIndexList.rst b/docs/source/generated/cdms2.dataset.parseIndexList.rst new file mode 100644 index 00000000..43aec87b --- /dev/null +++ b/docs/source/generated/cdms2.dataset.parseIndexList.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: parseIndexList diff --git a/docs/source/generated/cdms2.dataset.parseName.rst b/docs/source/generated/cdms2.dataset.parseName.rst new file mode 100644 index 00000000..7cb5521e --- /dev/null +++ b/docs/source/generated/cdms2.dataset.parseName.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: parseName diff --git a/docs/source/generated/cdms2.dataset.parseVarMap.rst b/docs/source/generated/cdms2.dataset.parseVarMap.rst new file mode 100644 index 00000000..32c4f873 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.parseVarMap.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: parseVarMap diff --git a/docs/source/generated/cdms2.dataset.parselist.rst b/docs/source/generated/cdms2.dataset.parselist.rst new file mode 100644 index 00000000..07195951 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.parselist.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: parselist diff --git a/docs/source/generated/cdms2.dataset.setCompressionWarnings.rst b/docs/source/generated/cdms2.dataset.setCompressionWarnings.rst new file mode 100644 index 00000000..9b36e4df --- /dev/null +++ b/docs/source/generated/cdms2.dataset.setCompressionWarnings.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: setCompressionWarnings diff --git a/docs/source/generated/cdms2.dataset.setNetcdf4Flag.rst b/docs/source/generated/cdms2.dataset.setNetcdf4Flag.rst new file mode 100644 index 00000000..8702ee70 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.setNetcdf4Flag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: setNetcdf4Flag diff --git a/docs/source/generated/cdms2.dataset.setNetcdfClassicFlag.rst b/docs/source/generated/cdms2.dataset.setNetcdfClassicFlag.rst new file mode 100644 index 00000000..16b0906b --- /dev/null +++ b/docs/source/generated/cdms2.dataset.setNetcdfClassicFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: setNetcdfClassicFlag diff --git a/docs/source/generated/cdms2.dataset.setNetcdfDeflateFlag.rst b/docs/source/generated/cdms2.dataset.setNetcdfDeflateFlag.rst new file mode 100644 index 00000000..075bcc03 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.setNetcdfDeflateFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: setNetcdfDeflateFlag diff --git a/docs/source/generated/cdms2.dataset.setNetcdfDeflateLevelFlag.rst b/docs/source/generated/cdms2.dataset.setNetcdfDeflateLevelFlag.rst new file mode 100644 index 00000000..52bee4b4 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.setNetcdfDeflateLevelFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: setNetcdfDeflateLevelFlag diff --git a/docs/source/generated/cdms2.dataset.setNetcdfShuffleFlag.rst b/docs/source/generated/cdms2.dataset.setNetcdfShuffleFlag.rst new file mode 100644 index 00000000..3b98e8cd --- /dev/null +++ b/docs/source/generated/cdms2.dataset.setNetcdfShuffleFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: setNetcdfShuffleFlag diff --git a/docs/source/generated/cdms2.dataset.setNetcdfUseNCSwitchModeFlag.rst b/docs/source/generated/cdms2.dataset.setNetcdfUseNCSwitchModeFlag.rst new file mode 100644 index 00000000..34071c92 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.setNetcdfUseNCSwitchModeFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: setNetcdfUseNCSwitchModeFlag diff --git a/docs/source/generated/cdms2.dataset.setNetcdfUseParallelFlag.rst b/docs/source/generated/cdms2.dataset.setNetcdfUseParallelFlag.rst new file mode 100644 index 00000000..aa6983eb --- /dev/null +++ b/docs/source/generated/cdms2.dataset.setNetcdfUseParallelFlag.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: setNetcdfUseParallelFlag diff --git a/docs/source/generated/cdms2.dataset.urlparse.rst b/docs/source/generated/cdms2.dataset.urlparse.rst new file mode 100644 index 00000000..a2b68da9 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.urlparse.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: urlparse diff --git a/docs/source/generated/cdms2.dataset.urlunparse.rst b/docs/source/generated/cdms2.dataset.urlunparse.rst new file mode 100644 index 00000000..9c3b9883 --- /dev/null +++ b/docs/source/generated/cdms2.dataset.urlunparse.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: urlunparse diff --git a/docs/source/generated/cdms2.dataset.useNetcdf3.rst b/docs/source/generated/cdms2.dataset.useNetcdf3.rst new file mode 100644 index 00000000..96d328ce --- /dev/null +++ b/docs/source/generated/cdms2.dataset.useNetcdf3.rst @@ -0,0 +1,6 @@ +cdms2.dataset +============= + +.. currentmodule:: cdms2.dataset + +.. autofunction:: useNetcdf3 diff --git a/docs/source/generated/cdms2.forecast.available_forecasts.rst b/docs/source/generated/cdms2.forecast.available_forecasts.rst new file mode 100644 index 00000000..5d159851 --- /dev/null +++ b/docs/source/generated/cdms2.forecast.available_forecasts.rst @@ -0,0 +1,6 @@ +cdms2.forecast +============== + +.. currentmodule:: cdms2.forecast + +.. autofunction:: available_forecasts diff --git a/docs/source/generated/cdms2.forecast.comptime.rst b/docs/source/generated/cdms2.forecast.comptime.rst new file mode 100644 index 00000000..f202860a --- /dev/null +++ b/docs/source/generated/cdms2.forecast.comptime.rst @@ -0,0 +1,6 @@ +cdms2.forecast +============== + +.. currentmodule:: cdms2.forecast + +.. autofunction:: comptime diff --git a/docs/source/generated/cdms2.forecast.forecast.__call__.rst b/docs/source/generated/cdms2.forecast.forecast.__call__.rst new file mode 100644 index 00000000..1e491e5b --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecast.__call__.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecast +======================= + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecast.__call__ diff --git a/docs/source/generated/cdms2.forecast.forecast.__getitem__.rst b/docs/source/generated/cdms2.forecast.forecast.__getitem__.rst new file mode 100644 index 00000000..b43cbaac --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecast.__getitem__.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecast +======================= + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecast.__getitem__ diff --git a/docs/source/generated/cdms2.forecast.forecast.__init__.rst b/docs/source/generated/cdms2.forecast.forecast.__init__.rst new file mode 100644 index 00000000..236aadc0 --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecast.__init__.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecast +======================= + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecast.__init__ diff --git a/docs/source/generated/cdms2.forecast.forecasts.__call__.rst b/docs/source/generated/cdms2.forecast.forecasts.__call__.rst new file mode 100644 index 00000000..bb67c001 --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecasts.__call__.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecasts +======================== + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecasts.__call__ diff --git a/docs/source/generated/cdms2.forecast.forecasts.__getitem__.rst b/docs/source/generated/cdms2.forecast.forecasts.__getitem__.rst new file mode 100644 index 00000000..e045a251 --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecasts.__getitem__.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecasts +======================== + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecasts.__getitem__ diff --git a/docs/source/generated/cdms2.forecast.forecasts.__init__.rst b/docs/source/generated/cdms2.forecast.forecasts.__init__.rst new file mode 100644 index 00000000..6e50e9bc --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecasts.__init__.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecasts +======================== + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecasts.__init__ diff --git a/docs/source/generated/cdms2.forecast.forecasts.forecast_axis.rst b/docs/source/generated/cdms2.forecast.forecasts.forecast_axis.rst new file mode 100644 index 00000000..e94664fb --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecasts.forecast_axis.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecasts +======================== + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecasts.forecast_axis diff --git a/docs/source/generated/cdms2.forecast.forecasts.forecast_times_to_list.rst b/docs/source/generated/cdms2.forecast.forecasts.forecast_times_to_list.rst new file mode 100644 index 00000000..9a40a0a2 --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecasts.forecast_times_to_list.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecasts +======================== + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecasts.forecast_times_to_list diff --git a/docs/source/generated/cdms2.forecast.forecasts.reduce_inplace.rst b/docs/source/generated/cdms2.forecast.forecasts.reduce_inplace.rst new file mode 100644 index 00000000..e9d2c64a --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecasts.reduce_inplace.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecasts +======================== + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecasts.reduce_inplace diff --git a/docs/source/generated/cdms2.forecast.forecasts.time_interval_to_list.rst b/docs/source/generated/cdms2.forecast.forecasts.time_interval_to_list.rst new file mode 100644 index 00000000..9f7f5d62 --- /dev/null +++ b/docs/source/generated/cdms2.forecast.forecasts.time_interval_to_list.rst @@ -0,0 +1,6 @@ +cdms2.forecast:forecasts +======================== + +.. currentmodule:: cdms2.forecast + +.. automethod:: forecasts.time_interval_to_list diff --git a/docs/source/generated/cdms2.forecast.two_times_from_one.rst b/docs/source/generated/cdms2.forecast.two_times_from_one.rst new file mode 100644 index 00000000..c5a67118 --- /dev/null +++ b/docs/source/generated/cdms2.forecast.two_times_from_one.rst @@ -0,0 +1,6 @@ +cdms2.forecast +============== + +.. currentmodule:: cdms2.forecast + +.. autofunction:: two_times_from_one diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.__call__.rst b/docs/source/generated/cdms2.fvariable.FileVariable.__call__.rst new file mode 100644 index 00000000..4634b3b9 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.__call__.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.__call__ diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.__iadd__.rst b/docs/source/generated/cdms2.fvariable.FileVariable.__iadd__.rst new file mode 100644 index 00000000..31b80eb9 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.__iadd__.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.__iadd__ diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.__idiv__.rst b/docs/source/generated/cdms2.fvariable.FileVariable.__idiv__.rst new file mode 100644 index 00000000..bb3f2e33 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.__idiv__.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.__idiv__ diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.__imul__.rst b/docs/source/generated/cdms2.fvariable.FileVariable.__imul__.rst new file mode 100644 index 00000000..952615bd --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.__imul__.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.__imul__ diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.__isub__.rst b/docs/source/generated/cdms2.fvariable.FileVariable.__isub__.rst new file mode 100644 index 00000000..c6f61569 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.__isub__.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.__isub__ diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.__len__.rst b/docs/source/generated/cdms2.fvariable.FileVariable.__len__.rst new file mode 100644 index 00000000..9b6c7fa8 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.__len__.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.__len__ diff --git a/docs/source/generated/cdms2.fvariable.FileVariable._decodedType.rst b/docs/source/generated/cdms2.fvariable.FileVariable._decodedType.rst new file mode 100644 index 00000000..a51eccd2 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable._decodedType.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable._decodedType diff --git a/docs/source/generated/cdms2.fvariable.FileVariable._process_specs.rst b/docs/source/generated/cdms2.fvariable.FileVariable._process_specs.rst new file mode 100644 index 00000000..07ed81d4 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable._process_specs.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable._process_specs diff --git a/docs/source/generated/cdms2.fvariable.FileVariable._single_specs.rst b/docs/source/generated/cdms2.fvariable.FileVariable._single_specs.rst new file mode 100644 index 00000000..2629ec9a --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable._single_specs.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable._single_specs diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.astype.rst b/docs/source/generated/cdms2.fvariable.FileVariable.astype.rst new file mode 100644 index 00000000..c67009ac --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.astype.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.astype diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.createattribute.rst b/docs/source/generated/cdms2.fvariable.FileVariable.createattribute.rst new file mode 100644 index 00000000..df902853 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.createattribute.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.createattribute diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.crossSectionRegrid.rst b/docs/source/generated/cdms2.fvariable.FileVariable.crossSectionRegrid.rst new file mode 100644 index 00000000..06c95d50 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.crossSectionRegrid.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.crossSectionRegrid diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.decode.rst b/docs/source/generated/cdms2.fvariable.FileVariable.decode.rst new file mode 100644 index 00000000..a337b464 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.decode.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.decode diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.deleteattribute.rst b/docs/source/generated/cdms2.fvariable.FileVariable.deleteattribute.rst new file mode 100644 index 00000000..9ed512db --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.deleteattribute.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.deleteattribute diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.dump.rst b/docs/source/generated/cdms2.fvariable.FileVariable.dump.rst new file mode 100644 index 00000000..10ea57c5 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.dump.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.dump diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.expertPaths.rst b/docs/source/generated/cdms2.fvariable.FileVariable.expertPaths.rst new file mode 100644 index 00000000..494436e3 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.expertPaths.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.expertPaths diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.genMatch.rst b/docs/source/generated/cdms2.fvariable.FileVariable.genMatch.rst new file mode 100644 index 00000000..c2694edc --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.genMatch.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.genMatch diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.generateGridkey.rst b/docs/source/generated/cdms2.fvariable.FileVariable.generateGridkey.rst new file mode 100644 index 00000000..c308acf4 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.generateGridkey.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.generateGridkey diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.generateRectGridkey.rst b/docs/source/generated/cdms2.fvariable.FileVariable.generateRectGridkey.rst new file mode 100644 index 00000000..4084a4da --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.generateRectGridkey.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.generateRectGridkey diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getAxisIds.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getAxisIds.rst new file mode 100644 index 00000000..c5c39132 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getAxisIds.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getAxisIds diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getAxisIndex.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getAxisIndex.rst new file mode 100644 index 00000000..42b5eb79 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getAxisIndex.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getAxisIndex diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getAxisList.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getAxisList.rst new file mode 100644 index 00000000..0773eb37 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getAxisList.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getAxisList diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getAxisListIndex.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getAxisListIndex.rst new file mode 100644 index 00000000..5070ad75 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getAxisListIndex.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getAxisListIndex diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getConvention.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getConvention.rst new file mode 100644 index 00000000..cae3c4b4 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getConvention.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getConvention diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getFilePath.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getFilePath.rst new file mode 100644 index 00000000..b853228b --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getFilePath.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getFilePath diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getForecastTime.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getForecastTime.rst new file mode 100644 index 00000000..431cd7cc --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getForecastTime.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getForecastTime diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getGridIndices.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getGridIndices.rst new file mode 100644 index 00000000..0f2c71aa --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getGridIndices.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getGridIndices diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getLatitude.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getLatitude.rst new file mode 100644 index 00000000..af368622 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getLatitude diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getLevel.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getLevel.rst new file mode 100644 index 00000000..4a1e5345 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getLevel.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getLevel diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getLongitude.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getLongitude.rst new file mode 100644 index 00000000..61d1b6c2 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getLongitude diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getMissing.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getMissing.rst new file mode 100644 index 00000000..698b3e14 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getMissing.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getMissing diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getOrder.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getOrder.rst new file mode 100644 index 00000000..635aa00e --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getOrder.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getOrder diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getPartition.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getPartition.rst new file mode 100644 index 00000000..40231222 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getPartition.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getPartition diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getRegion.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getRegion.rst new file mode 100644 index 00000000..86a650e9 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getRegion.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getRegion diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getSlice.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getSlice.rst new file mode 100644 index 00000000..a8ea67e3 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getSlice.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getSlice diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getTime.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getTime.rst new file mode 100644 index 00000000..1ee30a24 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getTime.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getTime diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getValue.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getValue.rst new file mode 100644 index 00000000..335d2094 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getValue.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getValue diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getattribute.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getattribute.rst new file mode 100644 index 00000000..06b7ead3 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getattribute.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getattribute diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.getdimattribute.rst b/docs/source/generated/cdms2.fvariable.FileVariable.getdimattribute.rst new file mode 100644 index 00000000..d1c5fccc --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.getdimattribute.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.getdimattribute diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.hasCellData.rst b/docs/source/generated/cdms2.fvariable.FileVariable.hasCellData.rst new file mode 100644 index 00000000..aa956616 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.hasCellData.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.hasCellData diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.initDomain.rst b/docs/source/generated/cdms2.fvariable.FileVariable.initDomain.rst new file mode 100644 index 00000000..31d2456a --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.initDomain.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.initDomain diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.isEncoded.rst b/docs/source/generated/cdms2.fvariable.FileVariable.isEncoded.rst new file mode 100644 index 00000000..0ba88541 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.isEncoded.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.isEncoded diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.listall.rst b/docs/source/generated/cdms2.fvariable.FileVariable.listall.rst new file mode 100644 index 00000000..37ec32ee --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.listall.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.listall diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.listattributes.rst b/docs/source/generated/cdms2.fvariable.FileVariable.listattributes.rst new file mode 100644 index 00000000..e5e66c39 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.listattributes.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.listattributes diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.listdimattributes.rst b/docs/source/generated/cdms2.fvariable.FileVariable.listdimattributes.rst new file mode 100644 index 00000000..f00a04fe --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.listdimattributes.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.listdimattributes diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.listdimnames.rst b/docs/source/generated/cdms2.fvariable.FileVariable.listdimnames.rst new file mode 100644 index 00000000..dc567786 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.listdimnames.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.listdimnames diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.matchPattern.rst b/docs/source/generated/cdms2.fvariable.FileVariable.matchPattern.rst new file mode 100644 index 00000000..36d63850 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.matchPattern diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.matchone.rst b/docs/source/generated/cdms2.fvariable.FileVariable.matchone.rst new file mode 100644 index 00000000..26d19b2b --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.matchone.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.matchone diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.pressureRegrid.rst b/docs/source/generated/cdms2.fvariable.FileVariable.pressureRegrid.rst new file mode 100644 index 00000000..85f6b4ab --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.pressureRegrid.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.pressureRegrid diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.regrid.rst b/docs/source/generated/cdms2.fvariable.FileVariable.regrid.rst new file mode 100644 index 00000000..abd0bd35 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.regrid.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.regrid diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.reorder.rst b/docs/source/generated/cdms2.fvariable.FileVariable.reorder.rst new file mode 100644 index 00000000..b5872bae --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.reorder.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.reorder diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.searchPattern.rst b/docs/source/generated/cdms2.fvariable.FileVariable.searchPattern.rst new file mode 100644 index 00000000..a52b9352 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.searchPattern diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.searchPredicate.rst b/docs/source/generated/cdms2.fvariable.FileVariable.searchPredicate.rst new file mode 100644 index 00000000..ff9fc592 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.searchPredicate diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.searchone.rst b/docs/source/generated/cdms2.fvariable.FileVariable.searchone.rst new file mode 100644 index 00000000..51d89aaf --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.searchone.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.searchone diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.select.rst b/docs/source/generated/cdms2.fvariable.FileVariable.select.rst new file mode 100644 index 00000000..cd916117 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.select.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.select diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.setMissing.rst b/docs/source/generated/cdms2.fvariable.FileVariable.setMissing.rst new file mode 100644 index 00000000..a74260ff --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.setMissing.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.setMissing diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.setattribute.rst b/docs/source/generated/cdms2.fvariable.FileVariable.setattribute.rst new file mode 100644 index 00000000..0e8a9854 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.setattribute.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.setattribute diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.showdim.rst b/docs/source/generated/cdms2.fvariable.FileVariable.showdim.rst new file mode 100644 index 00000000..506284f3 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.showdim.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.showdim diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.size.rst b/docs/source/generated/cdms2.fvariable.FileVariable.size.rst new file mode 100644 index 00000000..7a177257 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.size.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.size diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.specs2slices.rst b/docs/source/generated/cdms2.fvariable.FileVariable.specs2slices.rst new file mode 100644 index 00000000..2443e511 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.specs2slices.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.specs2slices diff --git a/docs/source/generated/cdms2.fvariable.FileVariable.typecode.rst b/docs/source/generated/cdms2.fvariable.FileVariable.typecode.rst new file mode 100644 index 00000000..a06f8008 --- /dev/null +++ b/docs/source/generated/cdms2.fvariable.FileVariable.typecode.rst @@ -0,0 +1,6 @@ +cdms2.fvariable:FileVariable +============================ + +.. currentmodule:: cdms2.fvariable + +.. automethod:: FileVariable.typecode diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.checkAxes.rst b/docs/source/generated/cdms2.grid.AbstractGrid.checkAxes.rst new file mode 100644 index 00000000..ea7b9904 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.checkAxes.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.checkAxes diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.clone.rst b/docs/source/generated/cdms2.grid.AbstractGrid.clone.rst new file mode 100644 index 00000000..a5c3255a --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.clone.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.clone diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.dump.rst b/docs/source/generated/cdms2.grid.AbstractGrid.dump.rst new file mode 100644 index 00000000..508c1814 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.dump.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.dump diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.flatAxes.rst b/docs/source/generated/cdms2.grid.AbstractGrid.flatAxes.rst new file mode 100644 index 00000000..0d07d8d9 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.flatAxes.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.flatAxes diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.getAxisList.rst b/docs/source/generated/cdms2.grid.AbstractGrid.getAxisList.rst new file mode 100644 index 00000000..fcf23e65 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.getAxisList.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.getAxisList diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.hasCoordType.rst b/docs/source/generated/cdms2.grid.AbstractGrid.hasCoordType.rst new file mode 100644 index 00000000..2af6389a --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.hasCoordType.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.hasCoordType diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.info.rst b/docs/source/generated/cdms2.grid.AbstractGrid.info.rst new file mode 100644 index 00000000..b2d91739 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.info.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.info diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.isClose.rst b/docs/source/generated/cdms2.grid.AbstractGrid.isClose.rst new file mode 100644 index 00000000..c24e892f --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.isClose.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.isClose diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.matchPattern.rst b/docs/source/generated/cdms2.grid.AbstractGrid.matchPattern.rst new file mode 100644 index 00000000..a8a6c6f1 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.matchPattern diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.matchone.rst b/docs/source/generated/cdms2.grid.AbstractGrid.matchone.rst new file mode 100644 index 00000000..fe57e6bb --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.matchone.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.matchone diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.reconcile.rst b/docs/source/generated/cdms2.grid.AbstractGrid.reconcile.rst new file mode 100644 index 00000000..00748dc5 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.reconcile.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.reconcile diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.searchPattern.rst b/docs/source/generated/cdms2.grid.AbstractGrid.searchPattern.rst new file mode 100644 index 00000000..1c92a830 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.searchPattern diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.searchPredicate.rst b/docs/source/generated/cdms2.grid.AbstractGrid.searchPredicate.rst new file mode 100644 index 00000000..9bf66479 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.searchPredicate diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.searchone.rst b/docs/source/generated/cdms2.grid.AbstractGrid.searchone.rst new file mode 100644 index 00000000..45e84882 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.searchone.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.searchone diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.size.rst b/docs/source/generated/cdms2.grid.AbstractGrid.size.rst new file mode 100644 index 00000000..fb51c72c --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.size.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.size diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.subSlice.rst b/docs/source/generated/cdms2.grid.AbstractGrid.subSlice.rst new file mode 100644 index 00000000..5cccb1d6 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.subSlice diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.writeScrip.rst b/docs/source/generated/cdms2.grid.AbstractGrid.writeScrip.rst new file mode 100644 index 00000000..33e94544 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.writeScrip.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.writeScrip diff --git a/docs/source/generated/cdms2.grid.AbstractGrid.writeToFile.rst b/docs/source/generated/cdms2.grid.AbstractGrid.writeToFile.rst new file mode 100644 index 00000000..74f297e2 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractGrid.writeToFile.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractGrid.writeToFile diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.checkAxes.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.checkAxes.rst new file mode 100644 index 00000000..efd9b75f --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.checkAxes.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.checkAxes diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.classify.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.classify.rst new file mode 100644 index 00000000..56190d04 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.classify.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.classify diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.classifyInFamily.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.classifyInFamily.rst new file mode 100644 index 00000000..091c74ef --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.classifyInFamily.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.classifyInFamily diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.clone.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.clone.rst new file mode 100644 index 00000000..79e4df1e --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.clone.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.clone diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.dump.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.dump.rst new file mode 100644 index 00000000..753e3c62 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.dump.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.dump diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.flatAxes.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.flatAxes.rst new file mode 100644 index 00000000..1fabe3ac --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.flatAxes.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.flatAxes diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.genBounds.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.genBounds.rst new file mode 100644 index 00000000..210dcd70 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.genBounds.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.genBounds diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getAxis.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getAxis.rst new file mode 100644 index 00000000..0d57af36 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getAxis diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getAxisList.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getAxisList.rst new file mode 100644 index 00000000..549efe63 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getAxisList.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getAxisList diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getBounds.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getBounds.rst new file mode 100644 index 00000000..5a2cdf5d --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getBounds diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getLatitude.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getLatitude.rst new file mode 100644 index 00000000..b14c4ce1 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getLatitude diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getLongitude.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getLongitude.rst new file mode 100644 index 00000000..e7c73742 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getLongitude diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getMask.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getMask.rst new file mode 100644 index 00000000..f58ecc65 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getMask.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getMask diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getMesh.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getMesh.rst new file mode 100644 index 00000000..80e30a41 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getMesh.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getMesh diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getOrder.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getOrder.rst new file mode 100644 index 00000000..36ac500f --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getOrder.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getOrder diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getType.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getType.rst new file mode 100644 index 00000000..2dba4983 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getType.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getType diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.getWeights.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.getWeights.rst new file mode 100644 index 00000000..1ff4967e --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.getWeights.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.getWeights diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.hasCoordType.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.hasCoordType.rst new file mode 100644 index 00000000..9fe9b84b --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.hasCoordType.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.hasCoordType diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.info.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.info.rst new file mode 100644 index 00000000..f73c9630 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.info.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.info diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.isClose.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.isClose.rst new file mode 100644 index 00000000..15d1464f --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.isClose.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.isClose diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.matchPattern.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.matchPattern.rst new file mode 100644 index 00000000..af69c48b --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.matchPattern diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.matchone.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.matchone.rst new file mode 100644 index 00000000..f94a6d7d --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.matchone.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.matchone diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.reconcile.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.reconcile.rst new file mode 100644 index 00000000..dc12512e --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.reconcile.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.reconcile diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.searchPattern.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.searchPattern.rst new file mode 100644 index 00000000..7c397b08 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.searchPattern diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.searchPredicate.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.searchPredicate.rst new file mode 100644 index 00000000..734e6126 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.searchPredicate diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.searchone.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.searchone.rst new file mode 100644 index 00000000..9c8c3042 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.searchone.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.searchone diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.setMask.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.setMask.rst new file mode 100644 index 00000000..21774b26 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.setMask.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.setMask diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.setType.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.setType.rst new file mode 100644 index 00000000..d6dd3047 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.setType.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.setType diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.subGrid.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.subGrid.rst new file mode 100644 index 00000000..8458f1f0 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.subGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.subGrid diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.subGridRegion.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.subGridRegion.rst new file mode 100644 index 00000000..6c9faf8b --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.subGridRegion.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.subGridRegion diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.subSlice.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.subSlice.rst new file mode 100644 index 00000000..c86aefef --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.subSlice diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.toCurveGrid.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.toCurveGrid.rst new file mode 100644 index 00000000..49488744 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.toCurveGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.toCurveGrid diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.toGenericGrid.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.toGenericGrid.rst new file mode 100644 index 00000000..e99ad0f5 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.toGenericGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.toGenericGrid diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.transpose.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.transpose.rst new file mode 100644 index 00000000..19b1b1bd --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.transpose.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.transpose diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.writeScrip.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.writeScrip.rst new file mode 100644 index 00000000..59eaf8de --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.writeScrip.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.writeScrip diff --git a/docs/source/generated/cdms2.grid.AbstractRectGrid.writeToFile.rst b/docs/source/generated/cdms2.grid.AbstractRectGrid.writeToFile.rst new file mode 100644 index 00000000..b6ce22d8 --- /dev/null +++ b/docs/source/generated/cdms2.grid.AbstractRectGrid.writeToFile.rst @@ -0,0 +1,6 @@ +cdms2.grid:AbstractRectGrid +=========================== + +.. currentmodule:: cdms2.grid + +.. automethod:: AbstractRectGrid.writeToFile diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.checkAxes.rst b/docs/source/generated/cdms2.grid.FileRectGrid.checkAxes.rst new file mode 100644 index 00000000..37c8ffc6 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.checkAxes.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.checkAxes diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.classify.rst b/docs/source/generated/cdms2.grid.FileRectGrid.classify.rst new file mode 100644 index 00000000..3d1466ec --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.classify.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.classify diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.classifyInFamily.rst b/docs/source/generated/cdms2.grid.FileRectGrid.classifyInFamily.rst new file mode 100644 index 00000000..51e74711 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.classifyInFamily.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.classifyInFamily diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.clone.rst b/docs/source/generated/cdms2.grid.FileRectGrid.clone.rst new file mode 100644 index 00000000..abaa20c8 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.clone.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.clone diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.dump.rst b/docs/source/generated/cdms2.grid.FileRectGrid.dump.rst new file mode 100644 index 00000000..f4bf8200 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.dump.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.dump diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.flatAxes.rst b/docs/source/generated/cdms2.grid.FileRectGrid.flatAxes.rst new file mode 100644 index 00000000..e0a77e53 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.flatAxes.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.flatAxes diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.genBounds.rst b/docs/source/generated/cdms2.grid.FileRectGrid.genBounds.rst new file mode 100644 index 00000000..92e256c6 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.genBounds.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.genBounds diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getAxis.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getAxis.rst new file mode 100644 index 00000000..7e3343d0 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getAxis diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getAxisList.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getAxisList.rst new file mode 100644 index 00000000..3b5eab63 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getAxisList.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getAxisList diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getBounds.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getBounds.rst new file mode 100644 index 00000000..12613f61 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getBounds diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getLatitude.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getLatitude.rst new file mode 100644 index 00000000..9d88f915 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getLatitude diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getLongitude.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getLongitude.rst new file mode 100644 index 00000000..29011321 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getLongitude diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getMask.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getMask.rst new file mode 100644 index 00000000..f460be25 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getMask.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getMask diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getMaskVar.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getMaskVar.rst new file mode 100644 index 00000000..204fc710 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getMaskVar.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getMaskVar diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getMesh.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getMesh.rst new file mode 100644 index 00000000..b8f6900d --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getMesh.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getMesh diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getOrder.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getOrder.rst new file mode 100644 index 00000000..2fde37ee --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getOrder.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getOrder diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getType.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getType.rst new file mode 100644 index 00000000..66343589 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getType.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getType diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.getWeights.rst b/docs/source/generated/cdms2.grid.FileRectGrid.getWeights.rst new file mode 100644 index 00000000..c91a0a3f --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.getWeights.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.getWeights diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.hasCoordType.rst b/docs/source/generated/cdms2.grid.FileRectGrid.hasCoordType.rst new file mode 100644 index 00000000..1861e051 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.hasCoordType.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.hasCoordType diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.info.rst b/docs/source/generated/cdms2.grid.FileRectGrid.info.rst new file mode 100644 index 00000000..b6f5e0e5 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.info.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.info diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.isClose.rst b/docs/source/generated/cdms2.grid.FileRectGrid.isClose.rst new file mode 100644 index 00000000..34fcb434 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.isClose.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.isClose diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.matchPattern.rst b/docs/source/generated/cdms2.grid.FileRectGrid.matchPattern.rst new file mode 100644 index 00000000..6627dac3 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.matchPattern diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.matchone.rst b/docs/source/generated/cdms2.grid.FileRectGrid.matchone.rst new file mode 100644 index 00000000..4ec7a0db --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.matchone.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.matchone diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.reconcile.rst b/docs/source/generated/cdms2.grid.FileRectGrid.reconcile.rst new file mode 100644 index 00000000..6409fab0 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.reconcile.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.reconcile diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.searchPattern.rst b/docs/source/generated/cdms2.grid.FileRectGrid.searchPattern.rst new file mode 100644 index 00000000..6d91fd64 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.searchPattern diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.searchPredicate.rst b/docs/source/generated/cdms2.grid.FileRectGrid.searchPredicate.rst new file mode 100644 index 00000000..cda1b232 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.searchPredicate diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.searchone.rst b/docs/source/generated/cdms2.grid.FileRectGrid.searchone.rst new file mode 100644 index 00000000..971f2266 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.searchone.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.searchone diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.setBounds.rst b/docs/source/generated/cdms2.grid.FileRectGrid.setBounds.rst new file mode 100644 index 00000000..d67426fa --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.setBounds.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.setBounds diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.setMask.rst b/docs/source/generated/cdms2.grid.FileRectGrid.setMask.rst new file mode 100644 index 00000000..101d0ca7 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.setMask.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.setMask diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.setType.rst b/docs/source/generated/cdms2.grid.FileRectGrid.setType.rst new file mode 100644 index 00000000..ad599dea --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.setType.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.setType diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.subGrid.rst b/docs/source/generated/cdms2.grid.FileRectGrid.subGrid.rst new file mode 100644 index 00000000..6d272b28 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.subGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.subGrid diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.subGridRegion.rst b/docs/source/generated/cdms2.grid.FileRectGrid.subGridRegion.rst new file mode 100644 index 00000000..8b2dc47a --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.subGridRegion.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.subGridRegion diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.subSlice.rst b/docs/source/generated/cdms2.grid.FileRectGrid.subSlice.rst new file mode 100644 index 00000000..31ccd699 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.subSlice diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.toCurveGrid.rst b/docs/source/generated/cdms2.grid.FileRectGrid.toCurveGrid.rst new file mode 100644 index 00000000..ac9601ad --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.toCurveGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.toCurveGrid diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.toGenericGrid.rst b/docs/source/generated/cdms2.grid.FileRectGrid.toGenericGrid.rst new file mode 100644 index 00000000..e1d466ab --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.toGenericGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.toGenericGrid diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.transpose.rst b/docs/source/generated/cdms2.grid.FileRectGrid.transpose.rst new file mode 100644 index 00000000..483c496c --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.transpose.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.transpose diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.writeScrip.rst b/docs/source/generated/cdms2.grid.FileRectGrid.writeScrip.rst new file mode 100644 index 00000000..771ffe43 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.writeScrip.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.writeScrip diff --git a/docs/source/generated/cdms2.grid.FileRectGrid.writeToFile.rst b/docs/source/generated/cdms2.grid.FileRectGrid.writeToFile.rst new file mode 100644 index 00000000..db8fd3b4 --- /dev/null +++ b/docs/source/generated/cdms2.grid.FileRectGrid.writeToFile.rst @@ -0,0 +1,6 @@ +cdms2.grid:FileRectGrid +======================= + +.. currentmodule:: cdms2.grid + +.. automethod:: FileRectGrid.writeToFile diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.checkAxes.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.checkAxes.rst new file mode 100644 index 00000000..6bb152c6 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.checkAxes.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.checkAxes diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.classify.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.classify.rst new file mode 100644 index 00000000..6cfcea5b --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.classify.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.classify diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.classifyInFamily.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.classifyInFamily.rst new file mode 100644 index 00000000..1c35b307 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.classifyInFamily.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.classifyInFamily diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.clone.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.clone.rst new file mode 100644 index 00000000..8d95b16d --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.clone.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.clone diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.dump.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.dump.rst new file mode 100644 index 00000000..8c64d0d0 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.dump.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.dump diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.flatAxes.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.flatAxes.rst new file mode 100644 index 00000000..bbc954d2 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.flatAxes.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.flatAxes diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.genBounds.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.genBounds.rst new file mode 100644 index 00000000..fe0a0c96 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.genBounds.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.genBounds diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getAxis.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getAxis.rst new file mode 100644 index 00000000..f62551fb --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getAxis diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getAxisList.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getAxisList.rst new file mode 100644 index 00000000..933aff6d --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getAxisList.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getAxisList diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getBounds.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getBounds.rst new file mode 100644 index 00000000..b2e51601 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getBounds diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getLatitude.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getLatitude.rst new file mode 100644 index 00000000..497a1a96 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getLatitude diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getLongitude.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getLongitude.rst new file mode 100644 index 00000000..1c19ac72 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getLongitude diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getMask.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getMask.rst new file mode 100644 index 00000000..9e5114d6 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getMask.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getMask diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getMesh.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getMesh.rst new file mode 100644 index 00000000..c419f446 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getMesh.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getMesh diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getOrder.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getOrder.rst new file mode 100644 index 00000000..4fc71a5a --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getOrder.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getOrder diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getType.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getType.rst new file mode 100644 index 00000000..99e95a6e --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getType.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getType diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.getWeights.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.getWeights.rst new file mode 100644 index 00000000..33552ece --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.getWeights.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.getWeights diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.hasCoordType.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.hasCoordType.rst new file mode 100644 index 00000000..413131c0 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.hasCoordType.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.hasCoordType diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.info.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.info.rst new file mode 100644 index 00000000..cf65ebb5 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.info.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.info diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.isClose.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.isClose.rst new file mode 100644 index 00000000..67cf9c86 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.isClose.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.isClose diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.matchPattern.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.matchPattern.rst new file mode 100644 index 00000000..85b911eb --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.matchPattern diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.matchone.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.matchone.rst new file mode 100644 index 00000000..9f4b1bbb --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.matchone.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.matchone diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.reconcile.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.reconcile.rst new file mode 100644 index 00000000..fb5113f0 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.reconcile.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.reconcile diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.searchPattern.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.searchPattern.rst new file mode 100644 index 00000000..c8199bad --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.searchPattern diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.searchPredicate.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.searchPredicate.rst new file mode 100644 index 00000000..d97eebca --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.searchPredicate diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.searchone.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.searchone.rst new file mode 100644 index 00000000..37f1ed44 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.searchone.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.searchone diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.setBounds.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.setBounds.rst new file mode 100644 index 00000000..6014fc0b --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.setBounds.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.setBounds diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.setMask.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.setMask.rst new file mode 100644 index 00000000..76df1dac --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.setMask.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.setMask diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.setType.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.setType.rst new file mode 100644 index 00000000..05e4ecc6 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.setType.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.setType diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.subGrid.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.subGrid.rst new file mode 100644 index 00000000..dc520ca1 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.subGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.subGrid diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.subGridRegion.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.subGridRegion.rst new file mode 100644 index 00000000..8960c10c --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.subGridRegion.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.subGridRegion diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.subSlice.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.subSlice.rst new file mode 100644 index 00000000..c8dfa5e5 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.subSlice diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.toCurveGrid.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.toCurveGrid.rst new file mode 100644 index 00000000..d91741dd --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.toCurveGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.toCurveGrid diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.toGenericGrid.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.toGenericGrid.rst new file mode 100644 index 00000000..cb9e423e --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.toGenericGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.toGenericGrid diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.transpose.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.transpose.rst new file mode 100644 index 00000000..e515555d --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.transpose.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.transpose diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.writeScrip.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.writeScrip.rst new file mode 100644 index 00000000..f58e8011 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.writeScrip.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.writeScrip diff --git a/docs/source/generated/cdms2.grid.TransientRectGrid.writeToFile.rst b/docs/source/generated/cdms2.grid.TransientRectGrid.writeToFile.rst new file mode 100644 index 00000000..c42dcd73 --- /dev/null +++ b/docs/source/generated/cdms2.grid.TransientRectGrid.writeToFile.rst @@ -0,0 +1,6 @@ +cdms2.grid:TransientRectGrid +============================ + +.. currentmodule:: cdms2.grid + +.. automethod:: TransientRectGrid.writeToFile diff --git a/docs/source/generated/cdms2.grid.createAxis.rst b/docs/source/generated/cdms2.grid.createAxis.rst new file mode 100644 index 00000000..a06f7ffd --- /dev/null +++ b/docs/source/generated/cdms2.grid.createAxis.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createAxis diff --git a/docs/source/generated/cdms2.grid.createGaussianAxis.rst b/docs/source/generated/cdms2.grid.createGaussianAxis.rst new file mode 100644 index 00000000..b1958a38 --- /dev/null +++ b/docs/source/generated/cdms2.grid.createGaussianAxis.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createGaussianAxis diff --git a/docs/source/generated/cdms2.grid.createGaussianGrid.rst b/docs/source/generated/cdms2.grid.createGaussianGrid.rst new file mode 100644 index 00000000..7f17065d --- /dev/null +++ b/docs/source/generated/cdms2.grid.createGaussianGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createGaussianGrid diff --git a/docs/source/generated/cdms2.grid.createGenericGrid.rst b/docs/source/generated/cdms2.grid.createGenericGrid.rst new file mode 100644 index 00000000..46d7c34e --- /dev/null +++ b/docs/source/generated/cdms2.grid.createGenericGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createGenericGrid diff --git a/docs/source/generated/cdms2.grid.createGlobalMeanGrid.rst b/docs/source/generated/cdms2.grid.createGlobalMeanGrid.rst new file mode 100644 index 00000000..59485e25 --- /dev/null +++ b/docs/source/generated/cdms2.grid.createGlobalMeanGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createGlobalMeanGrid diff --git a/docs/source/generated/cdms2.grid.createRectGrid.rst b/docs/source/generated/cdms2.grid.createRectGrid.rst new file mode 100644 index 00000000..bb36afc3 --- /dev/null +++ b/docs/source/generated/cdms2.grid.createRectGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createRectGrid diff --git a/docs/source/generated/cdms2.grid.createUniformGrid.rst b/docs/source/generated/cdms2.grid.createUniformGrid.rst new file mode 100644 index 00000000..f3035bca --- /dev/null +++ b/docs/source/generated/cdms2.grid.createUniformGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createUniformGrid diff --git a/docs/source/generated/cdms2.grid.createUniformLatitudeAxis.rst b/docs/source/generated/cdms2.grid.createUniformLatitudeAxis.rst new file mode 100644 index 00000000..d739d6cf --- /dev/null +++ b/docs/source/generated/cdms2.grid.createUniformLatitudeAxis.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createUniformLatitudeAxis diff --git a/docs/source/generated/cdms2.grid.createUniformLongitudeAxis.rst b/docs/source/generated/cdms2.grid.createUniformLongitudeAxis.rst new file mode 100644 index 00000000..7c4f6e6c --- /dev/null +++ b/docs/source/generated/cdms2.grid.createUniformLongitudeAxis.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createUniformLongitudeAxis diff --git a/docs/source/generated/cdms2.grid.createZonalGrid.rst b/docs/source/generated/cdms2.grid.createZonalGrid.rst new file mode 100644 index 00000000..38b2fe07 --- /dev/null +++ b/docs/source/generated/cdms2.grid.createZonalGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: createZonalGrid diff --git a/docs/source/generated/cdms2.grid.defaultRegion.rst b/docs/source/generated/cdms2.grid.defaultRegion.rst new file mode 100644 index 00000000..b5030da3 --- /dev/null +++ b/docs/source/generated/cdms2.grid.defaultRegion.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: defaultRegion diff --git a/docs/source/generated/cdms2.grid.getAutoBounds.rst b/docs/source/generated/cdms2.grid.getAutoBounds.rst new file mode 100644 index 00000000..e8200033 --- /dev/null +++ b/docs/source/generated/cdms2.grid.getAutoBounds.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: getAutoBounds diff --git a/docs/source/generated/cdms2.grid.isGrid.rst b/docs/source/generated/cdms2.grid.isGrid.rst new file mode 100644 index 00000000..b40bb08b --- /dev/null +++ b/docs/source/generated/cdms2.grid.isGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: isGrid diff --git a/docs/source/generated/cdms2.grid.isSubsetVector.rst b/docs/source/generated/cdms2.grid.isSubsetVector.rst new file mode 100644 index 00000000..dcc202c8 --- /dev/null +++ b/docs/source/generated/cdms2.grid.isSubsetVector.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: isSubsetVector diff --git a/docs/source/generated/cdms2.grid.lookupArray.rst b/docs/source/generated/cdms2.grid.lookupArray.rst new file mode 100644 index 00000000..0762106c --- /dev/null +++ b/docs/source/generated/cdms2.grid.lookupArray.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: lookupArray diff --git a/docs/source/generated/cdms2.grid.setClassifyGrids.rst b/docs/source/generated/cdms2.grid.setClassifyGrids.rst new file mode 100644 index 00000000..fb98ddf3 --- /dev/null +++ b/docs/source/generated/cdms2.grid.setClassifyGrids.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: setClassifyGrids diff --git a/docs/source/generated/cdms2.grid.setRegionSpecs.rst b/docs/source/generated/cdms2.grid.setRegionSpecs.rst new file mode 100644 index 00000000..b1f1ae3b --- /dev/null +++ b/docs/source/generated/cdms2.grid.setRegionSpecs.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: setRegionSpecs diff --git a/docs/source/generated/cdms2.grid.writeScripGrid.rst b/docs/source/generated/cdms2.grid.writeScripGrid.rst new file mode 100644 index 00000000..42c7bb8b --- /dev/null +++ b/docs/source/generated/cdms2.grid.writeScripGrid.rst @@ -0,0 +1,6 @@ +cdms2.grid +========== + +.. currentmodule:: cdms2.grid + +.. autofunction:: writeScripGrid diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.__init__.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.__init__.rst new file mode 100644 index 00000000..5e8d2173 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.__init__.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.__init__ diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid._getShape.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid._getShape.rst new file mode 100644 index 00000000..8473fbca --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid._getShape.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid._getShape diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.checkAxes.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.checkAxes.rst new file mode 100644 index 00000000..e359e457 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.checkAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.checkAxes diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.checkConvex.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.checkConvex.rst new file mode 100644 index 00000000..dea9c972 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.checkConvex.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.checkConvex diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.clone.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.clone.rst new file mode 100644 index 00000000..19e58978 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.clone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.clone diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.dump.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.dump.rst new file mode 100644 index 00000000..07e15b8c --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.dump.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.dump diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.fixCutCells.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.fixCutCells.rst new file mode 100644 index 00000000..798ccc53 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.fixCutCells.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.fixCutCells diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.flatAxes.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.flatAxes.rst new file mode 100644 index 00000000..8d108aaa --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.flatAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.flatAxes diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.genBounds.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.genBounds.rst new file mode 100644 index 00000000..eb86437b --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.genBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.genBounds diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getAxis.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getAxis.rst new file mode 100644 index 00000000..b86924fa --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.getAxis diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getBounds.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getBounds.rst new file mode 100644 index 00000000..65975362 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.getBounds diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getGridSlices.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getGridSlices.rst new file mode 100644 index 00000000..204fc75a --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getGridSlices.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.getGridSlices diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getIndex.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getIndex.rst new file mode 100644 index 00000000..2f3cc922 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getIndex.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.getIndex diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getLatitude.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getLatitude.rst new file mode 100644 index 00000000..c03b77ed --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.getLatitude diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getLongitude.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getLongitude.rst new file mode 100644 index 00000000..a168dc18 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.getLongitude diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getMask.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getMask.rst new file mode 100644 index 00000000..0e89c47f --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.getMask diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getMesh.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getMesh.rst new file mode 100644 index 00000000..d0a452e5 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getMesh.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.getMesh diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getWeightsArray.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getWeightsArray.rst new file mode 100644 index 00000000..f7da2d55 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.getWeightsArray.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.getWeightsArray diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.hasCoordType.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.hasCoordType.rst new file mode 100644 index 00000000..b7a77d04 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.hasCoordType.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.hasCoordType diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.info.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.info.rst new file mode 100644 index 00000000..05348114 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.info.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.info diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.init_from_gridspec.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.init_from_gridspec.rst new file mode 100644 index 00000000..2a50cc09 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.init_from_gridspec.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.init_from_gridspec diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.init_from_gridspec_file.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.init_from_gridspec_file.rst new file mode 100644 index 00000000..19f5d6d1 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.init_from_gridspec_file.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.init_from_gridspec_file diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.intersect.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.intersect.rst new file mode 100644 index 00000000..dff719f0 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.intersect.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.intersect diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.isClose.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.isClose.rst new file mode 100644 index 00000000..54631f0f --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.isClose.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.isClose diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.listall.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.listall.rst new file mode 100644 index 00000000..a9cd5112 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.listall.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.listall diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.matchPattern.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.matchPattern.rst new file mode 100644 index 00000000..99bf39b2 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.matchPattern diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.matchone.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.matchone.rst new file mode 100644 index 00000000..e4cb558a --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.matchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.matchone diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.reconcile.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.reconcile.rst new file mode 100644 index 00000000..24e800a8 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.reconcile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.reconcile diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.searchPattern.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.searchPattern.rst new file mode 100644 index 00000000..e8b0d7c2 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.searchPattern diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.searchPredicate.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.searchPredicate.rst new file mode 100644 index 00000000..de63f0f0 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.searchPredicate diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.searchone.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.searchone.rst new file mode 100644 index 00000000..d40616bf --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.searchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.searchone diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.setMask.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.setMask.rst new file mode 100644 index 00000000..92acda8a --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.setMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.setMask diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.size.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.size.rst new file mode 100644 index 00000000..1dd946d1 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.size.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.size diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.subGridRegion.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.subGridRegion.rst new file mode 100644 index 00000000..c8729ef9 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.subGridRegion.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.subGridRegion diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.subSlice.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.subSlice.rst new file mode 100644 index 00000000..ad1101ca --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.subSlice diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.toCurveGrid.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.toCurveGrid.rst new file mode 100644 index 00000000..3be70445 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.toCurveGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.toCurveGrid diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.toGenericGrid.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.toGenericGrid.rst new file mode 100644 index 00000000..8a4d66ab --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.toGenericGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.toGenericGrid diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.writeScrip.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.writeScrip.rst new file mode 100644 index 00000000..4e63906d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.writeScrip.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.writeScrip diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.writeToFile.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.writeToFile.rst new file mode 100644 index 00000000..fd340a41 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.writeToFile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.writeToFile diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.write_gridspec.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.write_gridspec.rst new file mode 100644 index 00000000..3dace448 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.write_gridspec.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.write_gridspec diff --git a/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.writeg.rst b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.writeg.rst new file mode 100644 index 00000000..cca80ab6 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractCurveGrid.writeg.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractCurveGrid +============================= + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractCurveGrid.writeg diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.checkAxes.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.checkAxes.rst new file mode 100644 index 00000000..f6f60289 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.checkAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.checkAxes diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.checkConvex.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.checkConvex.rst new file mode 100644 index 00000000..f0cc51a3 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.checkConvex.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.checkConvex diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.clone.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.clone.rst new file mode 100644 index 00000000..29252441 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.clone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.clone diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.dump.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.dump.rst new file mode 100644 index 00000000..115d17ab --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.dump.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.dump diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.fixCutCells.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.fixCutCells.rst new file mode 100644 index 00000000..092e45b3 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.fixCutCells.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.fixCutCells diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.flatAxes.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.flatAxes.rst new file mode 100644 index 00000000..c64eb766 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.flatAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.flatAxes diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.genBounds.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.genBounds.rst new file mode 100644 index 00000000..dd3bb3cc --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.genBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.genBounds diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getAxis.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getAxis.rst new file mode 100644 index 00000000..592e3bf9 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.getAxis diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getAxisList.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getAxisList.rst new file mode 100644 index 00000000..47dd98d4 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getAxisList.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.getAxisList diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getBounds.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getBounds.rst new file mode 100644 index 00000000..3e810aab --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.getBounds diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getLatitude.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getLatitude.rst new file mode 100644 index 00000000..b301fcc5 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.getLatitude diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getLongitude.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getLongitude.rst new file mode 100644 index 00000000..96095ae0 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.getLongitude diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getMask.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getMask.rst new file mode 100644 index 00000000..177f1a41 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.getMask diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getMesh.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getMesh.rst new file mode 100644 index 00000000..58e61f3f --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getMesh.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.getMesh diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getWeightsArray.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getWeightsArray.rst new file mode 100644 index 00000000..999086fc --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.getWeightsArray.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.getWeightsArray diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.hasCoordType.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.hasCoordType.rst new file mode 100644 index 00000000..c13fd7e9 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.hasCoordType.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.hasCoordType diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.info.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.info.rst new file mode 100644 index 00000000..cc2d36e4 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.info.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.info diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.isClose.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.isClose.rst new file mode 100644 index 00000000..21d97b8d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.isClose.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.isClose diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.listall.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.listall.rst new file mode 100644 index 00000000..76c30307 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.listall.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.listall diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.matchPattern.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.matchPattern.rst new file mode 100644 index 00000000..1002947b --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.matchPattern diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.matchone.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.matchone.rst new file mode 100644 index 00000000..83fb30df --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.matchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.matchone diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.reconcile.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.reconcile.rst new file mode 100644 index 00000000..79b908d5 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.reconcile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.reconcile diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.rst new file mode 100644 index 00000000..7f8f3e38 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.__init__ diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.searchPattern.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.searchPattern.rst new file mode 100644 index 00000000..8104c2bd --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.searchPattern diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.searchPredicate.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.searchPredicate.rst new file mode 100644 index 00000000..3e03b7ec --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.searchPredicate diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.searchone.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.searchone.rst new file mode 100644 index 00000000..f42288f0 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.searchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.searchone diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.setMask.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.setMask.rst new file mode 100644 index 00000000..b85e2c29 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.setMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.setMask diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.size.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.size.rst new file mode 100644 index 00000000..124b3c2e --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.size.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.size diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.subGridRegion.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.subGridRegion.rst new file mode 100644 index 00000000..f7afc6d7 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.subGridRegion.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.subGridRegion diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.subSlice.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.subSlice.rst new file mode 100644 index 00000000..f09b7943 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.subSlice diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.writeScrip.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.writeScrip.rst new file mode 100644 index 00000000..c25e4ecb --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.writeScrip.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.writeScrip diff --git a/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.writeToFile.rst b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.writeToFile.rst new file mode 100644 index 00000000..5935aea2 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.AbstractHorizontalGrid.writeToFile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:AbstractHorizontalGrid +================================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: AbstractHorizontalGrid.writeToFile diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.__init__.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.__init__.rst new file mode 100644 index 00000000..ea43049a --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.__init__.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .__init__ diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid._getShape.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid._getShape.rst new file mode 100644 index 00000000..c98613ae --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid._getShape.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: ._getShape diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.checkAxes.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.checkAxes.rst new file mode 100644 index 00000000..55ae075d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.checkAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .checkAxes diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.checkConvex.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.checkConvex.rst new file mode 100644 index 00000000..02ad1456 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.checkConvex.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .checkConvex diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.clone.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.clone.rst new file mode 100644 index 00000000..92f4d9f0 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.clone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .clone diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.dump.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.dump.rst new file mode 100644 index 00000000..3bb733f5 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.dump.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .dump diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.fixCutCells.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.fixCutCells.rst new file mode 100644 index 00000000..6999a3a2 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.fixCutCells.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .fixCutCells diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.flatAxes.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.flatAxes.rst new file mode 100644 index 00000000..2aa682b6 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.flatAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .flatAxes diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.genBounds.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.genBounds.rst new file mode 100644 index 00000000..aeac56f7 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.genBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .genBounds diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getAxis.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getAxis.rst new file mode 100644 index 00000000..024b5658 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .getAxis diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getBounds.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getBounds.rst new file mode 100644 index 00000000..72a78166 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .getBounds diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getGridSlices.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getGridSlices.rst new file mode 100644 index 00000000..36b13e0a --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getGridSlices.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .getGridSlices diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getIndex.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getIndex.rst new file mode 100644 index 00000000..1723de2d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getIndex.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .getIndex diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getLatitude.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getLatitude.rst new file mode 100644 index 00000000..30a6f497 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .getLatitude diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getLongitude.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getLongitude.rst new file mode 100644 index 00000000..338c0206 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .getLongitude diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getMask.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getMask.rst new file mode 100644 index 00000000..8270623c --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .getMask diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getMesh.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getMesh.rst new file mode 100644 index 00000000..4d159ba5 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getMesh.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .getMesh diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getWeightsArray.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getWeightsArray.rst new file mode 100644 index 00000000..8e35b31a --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.getWeightsArray.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .getWeightsArray diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.hasCoordType.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.hasCoordType.rst new file mode 100644 index 00000000..1c24ddd5 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.hasCoordType.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .hasCoordType diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.info.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.info.rst new file mode 100644 index 00000000..218b04c3 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.info.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .info diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.init_from_gridspec.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.init_from_gridspec.rst new file mode 100644 index 00000000..0d3a02a8 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.init_from_gridspec.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .init_from_gridspec diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.init_from_gridspec_file.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.init_from_gridspec_file.rst new file mode 100644 index 00000000..6422feb4 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.init_from_gridspec_file.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .init_from_gridspec_file diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.intersect.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.intersect.rst new file mode 100644 index 00000000..a32ba048 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.intersect.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .intersect diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.isClose.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.isClose.rst new file mode 100644 index 00000000..d74f3913 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.isClose.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .isClose diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.listall.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.listall.rst new file mode 100644 index 00000000..c7e077ed --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.listall.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .listall diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.matchPattern.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.matchPattern.rst new file mode 100644 index 00000000..a6c9d43a --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .matchPattern diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.matchone.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.matchone.rst new file mode 100644 index 00000000..89d6f62f --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.matchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .matchone diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.reconcile.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.reconcile.rst new file mode 100644 index 00000000..b66360ef --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.reconcile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .reconcile diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.searchPattern.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.searchPattern.rst new file mode 100644 index 00000000..b9d60280 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .searchPattern diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.searchPredicate.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.searchPredicate.rst new file mode 100644 index 00000000..4f407aca --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .searchPredicate diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.searchone.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.searchone.rst new file mode 100644 index 00000000..aad87ec5 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.searchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .searchone diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.setMask.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.setMask.rst new file mode 100644 index 00000000..5cda90d2 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.setMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .setMask diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.size.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.size.rst new file mode 100644 index 00000000..b7873d6d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.size.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .size diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.subGridRegion.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.subGridRegion.rst new file mode 100644 index 00000000..b1ba3c6b --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.subGridRegion.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .subGridRegion diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.subSlice.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.subSlice.rst new file mode 100644 index 00000000..dc8333f8 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .subSlice diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.toCurveGrid.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.toCurveGrid.rst new file mode 100644 index 00000000..93c12b35 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.toCurveGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .toCurveGrid diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.toGenericGrid.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.toGenericGrid.rst new file mode 100644 index 00000000..6a172d1d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.toGenericGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .toGenericGrid diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.writeScrip.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.writeScrip.rst new file mode 100644 index 00000000..434eb55d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.writeScrip.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .writeScrip diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.writeToFile.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.writeToFile.rst new file mode 100644 index 00000000..5e0b1d8c --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.writeToFile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .writeToFile diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.write_gridspec.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.write_gridspec.rst new file mode 100644 index 00000000..63081a3e --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.write_gridspec.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .write_gridspec diff --git a/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.writeg.rst b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.writeg.rst new file mode 100644 index 00000000..09555c4d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.DatasetCurveGrid.writeg.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.DatasetCurveGrid +============================ + +.. currentmodule:: cdms2.hgrid.DatasetCurveGrid + +.. automethod:: .writeg diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.__init__.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.__init__.rst new file mode 100644 index 00000000..bb93716f --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.__init__.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .__init__ diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid._getShape.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid._getShape.rst new file mode 100644 index 00000000..84cf7fba --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid._getShape.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: ._getShape diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.checkAxes.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.checkAxes.rst new file mode 100644 index 00000000..867e9679 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.checkAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .checkAxes diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.checkConvex.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.checkConvex.rst new file mode 100644 index 00000000..617972ed --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.checkConvex.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .checkConvex diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.clone.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.clone.rst new file mode 100644 index 00000000..131dd32b --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.clone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .clone diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.dump.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.dump.rst new file mode 100644 index 00000000..7d505d82 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.dump.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .dump diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.fixCutCells.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.fixCutCells.rst new file mode 100644 index 00000000..60f58339 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.fixCutCells.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .fixCutCells diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.flatAxes.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.flatAxes.rst new file mode 100644 index 00000000..96b9095f --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.flatAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .flatAxes diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.genBounds.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.genBounds.rst new file mode 100644 index 00000000..4f93b614 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.genBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .genBounds diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.getAxis.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getAxis.rst new file mode 100644 index 00000000..a481f07b --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .getAxis diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.getBounds.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getBounds.rst new file mode 100644 index 00000000..feace39c --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .getBounds diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.getGridSlices.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getGridSlices.rst new file mode 100644 index 00000000..db6beb94 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getGridSlices.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .getGridSlices diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.getIndex.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getIndex.rst new file mode 100644 index 00000000..7d0eef9f --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getIndex.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .getIndex diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.getLatitude.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getLatitude.rst new file mode 100644 index 00000000..61dec2fc --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .getLatitude diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.getLongitude.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getLongitude.rst new file mode 100644 index 00000000..2ebfc75c --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .getLongitude diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.getMask.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getMask.rst new file mode 100644 index 00000000..115d5514 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .getMask diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.getMesh.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getMesh.rst new file mode 100644 index 00000000..391209d8 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getMesh.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .getMesh diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.getWeightsArray.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getWeightsArray.rst new file mode 100644 index 00000000..ab2f2bf5 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.getWeightsArray.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .getWeightsArray diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.hasCoordType.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.hasCoordType.rst new file mode 100644 index 00000000..0e4f3a0f --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.hasCoordType.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .hasCoordType diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.info.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.info.rst new file mode 100644 index 00000000..d40a7210 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.info.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .info diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.init_from_gridspec.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.init_from_gridspec.rst new file mode 100644 index 00000000..a004306e --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.init_from_gridspec.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .init_from_gridspec diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.init_from_gridspec_file.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.init_from_gridspec_file.rst new file mode 100644 index 00000000..d73dfc1d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.init_from_gridspec_file.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .init_from_gridspec_file diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.intersect.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.intersect.rst new file mode 100644 index 00000000..d198ddc8 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.intersect.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .intersect diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.isClose.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.isClose.rst new file mode 100644 index 00000000..35d114e4 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.isClose.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .isClose diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.listall.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.listall.rst new file mode 100644 index 00000000..98f9a07d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.listall.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .listall diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.matchPattern.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.matchPattern.rst new file mode 100644 index 00000000..ef6d00c3 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .matchPattern diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.matchone.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.matchone.rst new file mode 100644 index 00000000..749eaa39 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.matchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .matchone diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.reconcile.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.reconcile.rst new file mode 100644 index 00000000..656c4aa8 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.reconcile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .reconcile diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.searchPattern.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.searchPattern.rst new file mode 100644 index 00000000..0fd99e2c --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .searchPattern diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.searchPredicate.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.searchPredicate.rst new file mode 100644 index 00000000..a94eaa0b --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .searchPredicate diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.searchone.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.searchone.rst new file mode 100644 index 00000000..1d20418c --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.searchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .searchone diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.setMask.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.setMask.rst new file mode 100644 index 00000000..19003302 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.setMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .setMask diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.size.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.size.rst new file mode 100644 index 00000000..59079be0 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.size.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .size diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.subGridRegion.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.subGridRegion.rst new file mode 100644 index 00000000..16e3f591 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.subGridRegion.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .subGridRegion diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.subSlice.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.subSlice.rst new file mode 100644 index 00000000..490bc23e --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .subSlice diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.toCurveGrid.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.toCurveGrid.rst new file mode 100644 index 00000000..e4efbbd6 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.toCurveGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .toCurveGrid diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.toGenericGrid.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.toGenericGrid.rst new file mode 100644 index 00000000..1f4f6bdf --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.toGenericGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .toGenericGrid diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.writeScrip.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.writeScrip.rst new file mode 100644 index 00000000..effafa81 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.writeScrip.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .writeScrip diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.writeToFile.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.writeToFile.rst new file mode 100644 index 00000000..9efdfe43 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.writeToFile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .writeToFile diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.write_gridspec.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.write_gridspec.rst new file mode 100644 index 00000000..f99a8133 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.write_gridspec.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .write_gridspec diff --git a/docs/source/generated/cdms2.hgrid.FileCurveGrid.writeg.rst b/docs/source/generated/cdms2.hgrid.FileCurveGrid.writeg.rst new file mode 100644 index 00000000..310f006e --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.FileCurveGrid.writeg.rst @@ -0,0 +1,6 @@ +cdms2.hgrid.FileCurveGrid +========================= + +.. currentmodule:: cdms2.hgrid.FileCurveGrid + +.. automethod:: .writeg diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.__init__.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.__init__.rst new file mode 100644 index 00000000..e6fdd176 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.__init__.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.__init__ diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid._getShape.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid._getShape.rst new file mode 100644 index 00000000..76064cbf --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid._getShape.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid._getShape diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.checkAxes.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.checkAxes.rst new file mode 100644 index 00000000..acc358d7 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.checkAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.checkAxes diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.checkConvex.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.checkConvex.rst new file mode 100644 index 00000000..3e71db26 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.checkConvex.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.checkConvex diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.clone.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.clone.rst new file mode 100644 index 00000000..c651305d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.clone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.clone diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.dump.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.dump.rst new file mode 100644 index 00000000..59e24cd3 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.dump.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.dump diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.fixCutCells.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.fixCutCells.rst new file mode 100644 index 00000000..0fb1b62b --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.fixCutCells.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.fixCutCells diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.flatAxes.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.flatAxes.rst new file mode 100644 index 00000000..13ec772b --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.flatAxes.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.flatAxes diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.genBounds.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.genBounds.rst new file mode 100644 index 00000000..cb549314 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.genBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.genBounds diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getAxis.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getAxis.rst new file mode 100644 index 00000000..b6e44b01 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getAxis.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.getAxis diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getBounds.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getBounds.rst new file mode 100644 index 00000000..873f37d2 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.getBounds diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getGridSlices.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getGridSlices.rst new file mode 100644 index 00000000..2fa14b18 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getGridSlices.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.getGridSlices diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getIndex.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getIndex.rst new file mode 100644 index 00000000..0e7337fc --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getIndex.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.getIndex diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getLatitude.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getLatitude.rst new file mode 100644 index 00000000..18211899 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.getLatitude diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getLongitude.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getLongitude.rst new file mode 100644 index 00000000..64e08cf4 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.getLongitude diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getMask.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getMask.rst new file mode 100644 index 00000000..34e8de00 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.getMask diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getMesh.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getMesh.rst new file mode 100644 index 00000000..d62666b8 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getMesh.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.getMesh diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getWeightsArray.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getWeightsArray.rst new file mode 100644 index 00000000..6481f1c4 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.getWeightsArray.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.getWeightsArray diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.hasCoordType.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.hasCoordType.rst new file mode 100644 index 00000000..c303d049 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.hasCoordType.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.hasCoordType diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.info.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.info.rst new file mode 100644 index 00000000..004f531d --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.info.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.info diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.init_from_gridspec.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.init_from_gridspec.rst new file mode 100644 index 00000000..9ef3d1c7 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.init_from_gridspec.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.init_from_gridspec diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.init_from_gridspec_file.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.init_from_gridspec_file.rst new file mode 100644 index 00000000..85f1a794 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.init_from_gridspec_file.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.init_from_gridspec_file diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.intersect.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.intersect.rst new file mode 100644 index 00000000..e5474437 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.intersect.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.intersect diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.isClose.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.isClose.rst new file mode 100644 index 00000000..675555f3 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.isClose.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.isClose diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.listall.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.listall.rst new file mode 100644 index 00000000..c9f37964 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.listall.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.listall diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.matchPattern.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.matchPattern.rst new file mode 100644 index 00000000..95a320bb --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.matchPattern diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.matchone.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.matchone.rst new file mode 100644 index 00000000..30086beb --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.matchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.matchone diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.reconcile.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.reconcile.rst new file mode 100644 index 00000000..bcaa2f67 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.reconcile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.reconcile diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.searchPattern.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.searchPattern.rst new file mode 100644 index 00000000..df1c762c --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.searchPattern diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.searchPredicate.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.searchPredicate.rst new file mode 100644 index 00000000..73dd5f09 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.searchPredicate diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.searchone.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.searchone.rst new file mode 100644 index 00000000..87b2198c --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.searchone.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.searchone diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.setMask.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.setMask.rst new file mode 100644 index 00000000..d14786d3 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.setMask.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.setMask diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.size.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.size.rst new file mode 100644 index 00000000..eb7565dc --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.size.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.size diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.subGridRegion.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.subGridRegion.rst new file mode 100644 index 00000000..765acea2 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.subGridRegion.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.subGridRegion diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.subSlice.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.subSlice.rst new file mode 100644 index 00000000..d8f7faf5 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.subSlice.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.subSlice diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.toCurveGrid.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.toCurveGrid.rst new file mode 100644 index 00000000..8ee90582 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.toCurveGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.toCurveGrid diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.toGenericGrid.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.toGenericGrid.rst new file mode 100644 index 00000000..93cdedee --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.toGenericGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.toGenericGrid diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.writeScrip.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.writeScrip.rst new file mode 100644 index 00000000..3009cfab --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.writeScrip.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.writeScrip diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.writeToFile.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.writeToFile.rst new file mode 100644 index 00000000..015d77d2 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.writeToFile.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.writeToFile diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.write_gridspec.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.write_gridspec.rst new file mode 100644 index 00000000..9efef985 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.write_gridspec.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.write_gridspec diff --git a/docs/source/generated/cdms2.hgrid.TransientCurveGrid.writeg.rst b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.writeg.rst new file mode 100644 index 00000000..8b28b6df --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.TransientCurveGrid.writeg.rst @@ -0,0 +1,6 @@ +cdms2.hgrid:TransientCurveGrid +============================== + +.. currentmodule:: cdms2.hgrid + +.. automethod:: TransientCurveGrid.writeg diff --git a/docs/source/generated/cdms2.hgrid._flatten.rst b/docs/source/generated/cdms2.hgrid._flatten.rst new file mode 100644 index 00000000..94271124 --- /dev/null +++ b/docs/source/generated/cdms2.hgrid._flatten.rst @@ -0,0 +1,6 @@ +cdms2.hgrid +=========== + +.. currentmodule:: cdms2.hgrid + +.. autofunction:: _flatten diff --git a/docs/source/generated/cdms2.hgrid.allclose.rst b/docs/source/generated/cdms2.hgrid.allclose.rst new file mode 100644 index 00000000..be791bbb --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.allclose.rst @@ -0,0 +1,6 @@ +cdms2.hgrid +=========== + +.. currentmodule:: cdms2.hgrid + +.. autofunction:: allclose diff --git a/docs/source/generated/cdms2.hgrid.getAutoBounds.rst b/docs/source/generated/cdms2.hgrid.getAutoBounds.rst new file mode 100644 index 00000000..b46326ac --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.getAutoBounds.rst @@ -0,0 +1,6 @@ +cdms2.hgrid +=========== + +.. currentmodule:: cdms2.hgrid + +.. autofunction:: getAutoBounds diff --git a/docs/source/generated/cdms2.hgrid.readScripCurveGrid.rst b/docs/source/generated/cdms2.hgrid.readScripCurveGrid.rst new file mode 100644 index 00000000..5d9b3ccd --- /dev/null +++ b/docs/source/generated/cdms2.hgrid.readScripCurveGrid.rst @@ -0,0 +1,6 @@ +cdms2.hgrid +=========== + +.. currentmodule:: cdms2.hgrid + +.. autofunction:: readScripCurveGrid diff --git a/docs/source/generated/cdms2.slabinterface.Slab.createattribute.rst b/docs/source/generated/cdms2.slabinterface.Slab.createattribute.rst new file mode 100644 index 00000000..87445730 --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.createattribute.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.createattribute diff --git a/docs/source/generated/cdms2.slabinterface.Slab.deleteattribute.rst b/docs/source/generated/cdms2.slabinterface.Slab.deleteattribute.rst new file mode 100644 index 00000000..1440919f --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.deleteattribute.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.deleteattribute diff --git a/docs/source/generated/cdms2.slabinterface.Slab.getattribute.rst b/docs/source/generated/cdms2.slabinterface.Slab.getattribute.rst new file mode 100644 index 00000000..a292c380 --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.getattribute.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.getattribute diff --git a/docs/source/generated/cdms2.slabinterface.Slab.getdimattribute.rst b/docs/source/generated/cdms2.slabinterface.Slab.getdimattribute.rst new file mode 100644 index 00000000..e61932e1 --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.getdimattribute.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.getdimattribute diff --git a/docs/source/generated/cdms2.slabinterface.Slab.info.rst b/docs/source/generated/cdms2.slabinterface.Slab.info.rst new file mode 100644 index 00000000..d4794c47 --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.info.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.info diff --git a/docs/source/generated/cdms2.slabinterface.Slab.listall.rst b/docs/source/generated/cdms2.slabinterface.Slab.listall.rst new file mode 100644 index 00000000..290ba25a --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.listall.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.listall diff --git a/docs/source/generated/cdms2.slabinterface.Slab.listattributes.rst b/docs/source/generated/cdms2.slabinterface.Slab.listattributes.rst new file mode 100644 index 00000000..853cab8a --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.listattributes.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.listattributes diff --git a/docs/source/generated/cdms2.slabinterface.Slab.listdimattributes.rst b/docs/source/generated/cdms2.slabinterface.Slab.listdimattributes.rst new file mode 100644 index 00000000..d392727e --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.listdimattributes.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.listdimattributes diff --git a/docs/source/generated/cdms2.slabinterface.Slab.listdimnames.rst b/docs/source/generated/cdms2.slabinterface.Slab.listdimnames.rst new file mode 100644 index 00000000..7535f090 --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.listdimnames.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.listdimnames diff --git a/docs/source/generated/cdms2.slabinterface.Slab.setattribute.rst b/docs/source/generated/cdms2.slabinterface.Slab.setattribute.rst new file mode 100644 index 00000000..5abc14c7 --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.setattribute.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.setattribute diff --git a/docs/source/generated/cdms2.slabinterface.Slab.showdim.rst b/docs/source/generated/cdms2.slabinterface.Slab.showdim.rst new file mode 100644 index 00000000..f4fd6f9b --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.Slab.showdim.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface:Slab +======================== + +.. currentmodule:: cdms2.slabinterface + +.. automethod:: Slab.showdim diff --git a/docs/source/generated/cdms2.slabinterface.cdms_bounds2cu_bounds.rst b/docs/source/generated/cdms2.slabinterface.cdms_bounds2cu_bounds.rst new file mode 100644 index 00000000..21ce3443 --- /dev/null +++ b/docs/source/generated/cdms2.slabinterface.cdms_bounds2cu_bounds.rst @@ -0,0 +1,6 @@ +cdms2.slabinterface +=================== + +.. currentmodule:: cdms2.slabinterface + +.. autofunction:: cdms_bounds2cu_bounds diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._TransientVariable__getMPIType.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._TransientVariable__getMPIType.rst new file mode 100644 index 00000000..4fa9c93f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._TransientVariable__getMPIType.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._TransientVariable__getMPIType diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._TransientVariable__getSlab.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._TransientVariable__getSlab.rst new file mode 100644 index 00000000..57a43f2d --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._TransientVariable__getSlab.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._TransientVariable__getSlab diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__array_wrap__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__array_wrap__.rst new file mode 100644 index 00000000..f698ec3a --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__array_wrap__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__array_wrap__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__call__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__call__.rst new file mode 100644 index 00000000..3d3432dd --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__call__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__call__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__float__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__float__.rst new file mode 100644 index 00000000..9e7f368f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__float__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__float__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__getstate__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__getstate__.rst new file mode 100644 index 00000000..9bdaee74 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__getstate__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__getstate__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__iadd__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__iadd__.rst new file mode 100644 index 00000000..b9b940c3 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__iadd__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__iadd__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__idiv__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__idiv__.rst new file mode 100644 index 00000000..22c7c601 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__idiv__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__idiv__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__ifloordiv__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__ifloordiv__.rst new file mode 100644 index 00000000..650149e4 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__ifloordiv__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__ifloordiv__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__imul__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__imul__.rst new file mode 100644 index 00000000..c68c9117 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__imul__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__imul__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__init__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__init__.rst new file mode 100644 index 00000000..17d9fd5e --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__init__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__init__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__int__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__int__.rst new file mode 100644 index 00000000..a360624c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__int__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__int__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__ipow__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__ipow__.rst new file mode 100644 index 00000000..9b797b04 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__ipow__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__ipow__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__isub__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__isub__.rst new file mode 100644 index 00000000..1d10e6af --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__isub__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__isub__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__itruediv__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__itruediv__.rst new file mode 100644 index 00000000..07611c60 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__itruediv__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__itruediv__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__len__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__len__.rst new file mode 100644 index 00000000..5ea345b4 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__len__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__len__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__long__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__long__.rst new file mode 100644 index 00000000..1be3daaf --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__long__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__long__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__new__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__new__.rst new file mode 100644 index 00000000..1734290c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__new__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. autofunction:: TransientVariable.__new__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__reduce__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__reduce__.rst new file mode 100644 index 00000000..39bc9a91 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__reduce__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__reduce__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__rfloordiv__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__rfloordiv__.rst new file mode 100644 index 00000000..3ff2cc55 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__rfloordiv__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__rfloordiv__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__rpow__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__rpow__.rst new file mode 100644 index 00000000..e13758ff --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__rpow__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__rpow__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__rtruediv__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__rtruediv__.rst new file mode 100644 index 00000000..1f0fe9bd --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__rtruediv__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__rtruediv__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__setitem__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__setitem__.rst new file mode 100644 index 00000000..1cedba61 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__setitem__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__setitem__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__setmask__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__setmask__.rst new file mode 100644 index 00000000..8703f142 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__setmask__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__setmask__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.__setstate__.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.__setstate__.rst new file mode 100644 index 00000000..b776615f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.__setstate__.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.__setstate__ diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._comparison.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._comparison.rst new file mode 100644 index 00000000..25f3816c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._comparison.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._comparison diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._decodedType.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._decodedType.rst new file mode 100644 index 00000000..dd84fd3b --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._decodedType.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._decodedType diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._get_data.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._get_data.rst new file mode 100644 index 00000000..9535421b --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._get_data.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._get_data diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._get_flat.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._get_flat.rst new file mode 100644 index 00000000..c1929fe4 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._get_flat.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._get_flat diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._get_mask.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._get_mask.rst new file mode 100644 index 00000000..5ee5c8c8 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._get_mask.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._get_mask diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._get_recordmask.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._get_recordmask.rst new file mode 100644 index 00000000..cab7f0e9 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._get_recordmask.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._get_recordmask diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._insert_masked_print.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._insert_masked_print.rst new file mode 100644 index 00000000..ce36dd4b --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._insert_masked_print.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._insert_masked_print diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._process_specs.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._process_specs.rst new file mode 100644 index 00000000..6af037bb --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._process_specs.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._process_specs diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._set_flat.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._set_flat.rst new file mode 100644 index 00000000..73b4a1a0 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._set_flat.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._set_flat diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._set_mask.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._set_mask.rst new file mode 100644 index 00000000..4a3e5c52 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._set_mask.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._set_mask diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._set_recordmask.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._set_recordmask.rst new file mode 100644 index 00000000..e4e2bc31 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._set_recordmask.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._set_recordmask diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable._single_specs.rst b/docs/source/generated/cdms2.tvariable.TransientVariable._single_specs.rst new file mode 100644 index 00000000..3e12aeca --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable._single_specs.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable._single_specs diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.all.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.all.rst new file mode 100644 index 00000000..e3380172 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.all.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.all diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.anom.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.anom.rst new file mode 100644 index 00000000..31b4c1b3 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.anom.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.anom diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.any.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.any.rst new file mode 100644 index 00000000..f774f340 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.any.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.any diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.argmax.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.argmax.rst new file mode 100644 index 00000000..f7f7c0e8 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.argmax.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.argmax diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.argmin.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.argmin.rst new file mode 100644 index 00000000..58cc29e7 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.argmin.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.argmin diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.argsort.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.argsort.rst new file mode 100644 index 00000000..4932c997 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.argsort.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.argsort diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.asma.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.asma.rst new file mode 100644 index 00000000..9ff57ec3 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.asma.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.asma diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.astype.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.astype.rst new file mode 100644 index 00000000..dc3fcb07 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.astype.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.astype diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.clip.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.clip.rst new file mode 100644 index 00000000..ad1e6477 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.clip.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.clip diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.clone.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.clone.rst new file mode 100644 index 00000000..77e4352b --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.clone.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.clone diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.compress.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.compress.rst new file mode 100644 index 00000000..74c08893 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.compress.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.compress diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.compressed.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.compressed.rst new file mode 100644 index 00000000..fcfae1d1 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.compressed.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.compressed diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.copyAxis.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.copyAxis.rst new file mode 100644 index 00000000..625243c7 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.copyAxis.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.copyAxis diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.copyDomain.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.copyDomain.rst new file mode 100644 index 00000000..3f46b546 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.copyDomain.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.copyDomain diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.copydimension.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.copydimension.rst new file mode 100644 index 00000000..eadff7a3 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.copydimension.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.copydimension diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.count.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.count.rst new file mode 100644 index 00000000..f31ee372 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.count.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.count diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.createattribute.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.createattribute.rst new file mode 100644 index 00000000..9409d40d --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.createattribute.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.createattribute diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.crossSectionRegrid.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.crossSectionRegrid.rst new file mode 100644 index 00000000..4826aca0 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.crossSectionRegrid.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.crossSectionRegrid diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.cumprod.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.cumprod.rst new file mode 100644 index 00000000..6ba12320 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.cumprod.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.cumprod diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.cumsum.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.cumsum.rst new file mode 100644 index 00000000..d5e93937 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.cumsum.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.cumsum diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.decode.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.decode.rst new file mode 100644 index 00000000..61e7a216 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.decode.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.decode diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.deleteattribute.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.deleteattribute.rst new file mode 100644 index 00000000..33dee90d --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.deleteattribute.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.deleteattribute diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.diagonal.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.diagonal.rst new file mode 100644 index 00000000..4ce00898 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.diagonal.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.diagonal diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.dot.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.dot.rst new file mode 100644 index 00000000..ef01a51f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.dot.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.dot diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.dump.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.dump.rst new file mode 100644 index 00000000..48893384 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.dump.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.dump diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.dumps.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.dumps.rst new file mode 100644 index 00000000..d9c5a1bc --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.dumps.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.dumps diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.exposeHalo.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.exposeHalo.rst new file mode 100644 index 00000000..d64a64e9 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.exposeHalo.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.exposeHalo diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.fetchHaloData.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.fetchHaloData.rst new file mode 100644 index 00000000..4bec159b --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.fetchHaloData.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.fetchHaloData diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.filled.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.filled.rst new file mode 100644 index 00000000..8311b9ae --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.filled.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.filled diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.flatten.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.flatten.rst new file mode 100644 index 00000000..675eb0f8 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.flatten.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.flatten diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.freeHalo.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.freeHalo.rst new file mode 100644 index 00000000..04093ca2 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.freeHalo.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.freeHalo diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.generateGridkey.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.generateGridkey.rst new file mode 100644 index 00000000..502652b8 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.generateGridkey.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.generateGridkey diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.generateRectGridkey.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.generateRectGridkey.rst new file mode 100644 index 00000000..8d2cf11b --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.generateRectGridkey.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.generateRectGridkey diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisIds.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisIds.rst new file mode 100644 index 00000000..79c235fd --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisIds.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getAxisIds diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisIndex.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisIndex.rst new file mode 100644 index 00000000..cd190c2f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisIndex.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getAxisIndex diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisList.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisList.rst new file mode 100644 index 00000000..4040c0df --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisList.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getAxisList diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisListIndex.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisListIndex.rst new file mode 100644 index 00000000..34fc7513 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getAxisListIndex.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getAxisListIndex diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getConvention.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getConvention.rst new file mode 100644 index 00000000..d7488d6b --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getConvention.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getConvention diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getForecastTime.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getForecastTime.rst new file mode 100644 index 00000000..b4131aab --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getForecastTime.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getForecastTime diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getGridIndices.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getGridIndices.rst new file mode 100644 index 00000000..7f7a9869 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getGridIndices.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getGridIndices diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getHaloEllipsis.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getHaloEllipsis.rst new file mode 100644 index 00000000..21e1a891 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getHaloEllipsis.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getHaloEllipsis diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getLatitude.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getLatitude.rst new file mode 100644 index 00000000..5c6ef985 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getLatitude diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getLevel.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getLevel.rst new file mode 100644 index 00000000..bac9d631 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getLevel.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getLevel diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getLongitude.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getLongitude.rst new file mode 100644 index 00000000..739be9b5 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getLongitude diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getMPIRank.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getMPIRank.rst new file mode 100644 index 00000000..54d5491d --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getMPIRank.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getMPIRank diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getMPISize.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getMPISize.rst new file mode 100644 index 00000000..490968de --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getMPISize.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getMPISize diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getMissing.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getMissing.rst new file mode 100644 index 00000000..41d2b5de --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getMissing.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getMissing diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getOrder.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getOrder.rst new file mode 100644 index 00000000..e106d4b6 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getOrder.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getOrder diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getRegion.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getRegion.rst new file mode 100644 index 00000000..8939f42c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getRegion.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getRegion diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getSlice.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getSlice.rst new file mode 100644 index 00000000..b7de2806 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getSlice.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getSlice diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getTileIndex.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getTileIndex.rst new file mode 100644 index 00000000..8237a0aa --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getTileIndex.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getTileIndex diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getTime.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getTime.rst new file mode 100644 index 00000000..141a0fa3 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getTime.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getTime diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.get_fill_value.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.get_fill_value.rst new file mode 100644 index 00000000..e196a55f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.get_fill_value.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.get_fill_value diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.get_imag.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.get_imag.rst new file mode 100644 index 00000000..3c7bd9fe --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.get_imag.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.get_imag diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.get_real.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.get_real.rst new file mode 100644 index 00000000..e372621c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.get_real.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.get_real diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getattribute.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getattribute.rst new file mode 100644 index 00000000..f5138f43 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getattribute.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getattribute diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.getdimattribute.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.getdimattribute.rst new file mode 100644 index 00000000..6bc3e160 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.getdimattribute.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.getdimattribute diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.harden_mask.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.harden_mask.rst new file mode 100644 index 00000000..3282ba57 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.harden_mask.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.harden_mask diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.hasCellData.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.hasCellData.rst new file mode 100644 index 00000000..f8076da2 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.hasCellData.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.hasCellData diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.ids.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.ids.rst new file mode 100644 index 00000000..542d0a1f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.ids.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.ids diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.isEncoded.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.isEncoded.rst new file mode 100644 index 00000000..a485f934 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.isEncoded.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.isEncoded diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.listall.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.listall.rst new file mode 100644 index 00000000..c6a0aefb --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.listall.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.listall diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.listattributes.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.listattributes.rst new file mode 100644 index 00000000..b0c11b29 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.listattributes.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.listattributes diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.listdimattributes.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.listdimattributes.rst new file mode 100644 index 00000000..3b786cd7 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.listdimattributes.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.listdimattributes diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.listdimnames.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.listdimnames.rst new file mode 100644 index 00000000..0cd0c6f5 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.listdimnames.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.listdimnames diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.matchPattern.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.matchPattern.rst new file mode 100644 index 00000000..c847fa9a --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.matchPattern diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.matchone.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.matchone.rst new file mode 100644 index 00000000..4d76890f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.matchone.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.matchone diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.max.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.max.rst new file mode 100644 index 00000000..700f92a9 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.max.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.max diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.mean.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.mean.rst new file mode 100644 index 00000000..c5c41b04 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.mean.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.mean diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.min.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.min.rst new file mode 100644 index 00000000..2b0668e2 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.min.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.min diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.mini.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.mini.rst new file mode 100644 index 00000000..9711f601 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.mini.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.mini diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.nonzero.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.nonzero.rst new file mode 100644 index 00000000..850c46bd --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.nonzero.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.nonzero diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.pressureRegrid.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.pressureRegrid.rst new file mode 100644 index 00000000..2f4acc0f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.pressureRegrid.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.pressureRegrid diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.prod.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.prod.rst new file mode 100644 index 00000000..be2061b3 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.prod.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.prod diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.product.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.product.rst new file mode 100644 index 00000000..32ba2ba5 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.product.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.product diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.ptp.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.ptp.rst new file mode 100644 index 00000000..7c1c5a9c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.ptp.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.ptp diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.put.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.put.rst new file mode 100644 index 00000000..b217e5c2 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.put.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.put diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.ravel.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.ravel.rst new file mode 100644 index 00000000..e842d40c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.ravel.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.ravel diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.regrid.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.regrid.rst new file mode 100644 index 00000000..22fbb20d --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.regrid.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.regrid diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.reorder.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.reorder.rst new file mode 100644 index 00000000..5bca2c10 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.reorder.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.reorder diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.repeat.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.repeat.rst new file mode 100644 index 00000000..a09171bb --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.repeat.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.repeat diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.reshape.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.reshape.rst new file mode 100644 index 00000000..fc22d9b6 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.reshape.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.reshape diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.resize.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.resize.rst new file mode 100644 index 00000000..7664d8ad --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.resize.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.resize diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.round.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.round.rst new file mode 100644 index 00000000..6eb20e94 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.round.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.round diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.searchPattern.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.searchPattern.rst new file mode 100644 index 00000000..ed79eec3 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.searchPattern diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.searchPredicate.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.searchPredicate.rst new file mode 100644 index 00000000..0a449f76 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.searchPredicate diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.searchone.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.searchone.rst new file mode 100644 index 00000000..f9e969ae --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.searchone.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.searchone diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.select.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.select.rst new file mode 100644 index 00000000..5065ef36 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.select.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.select diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.setAxis.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.setAxis.rst new file mode 100644 index 00000000..6a29afd9 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.setAxis.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.setAxis diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.setAxisList.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.setAxisList.rst new file mode 100644 index 00000000..db762f08 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.setAxisList.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.setAxisList diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.setMPIComm.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.setMPIComm.rst new file mode 100644 index 00000000..82af72ee --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.setMPIComm.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.setMPIComm diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.setMaskFromGridMask.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.setMaskFromGridMask.rst new file mode 100644 index 00000000..d601027c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.setMaskFromGridMask.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.setMaskFromGridMask diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.setMissing.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.setMissing.rst new file mode 100644 index 00000000..1c63f16c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.setMissing.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.setMissing diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.setTileIndex.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.setTileIndex.rst new file mode 100644 index 00000000..b3366ac9 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.setTileIndex.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.setTileIndex diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.set_fill_value.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.set_fill_value.rst new file mode 100644 index 00000000..75fbc81d --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.set_fill_value.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.set_fill_value diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.setattribute.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.setattribute.rst new file mode 100644 index 00000000..bf85ea7c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.setattribute.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.setattribute diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.setdimattribute.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.setdimattribute.rst new file mode 100644 index 00000000..d1a44366 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.setdimattribute.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.setdimattribute diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.showdim.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.showdim.rst new file mode 100644 index 00000000..72b49971 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.showdim.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.showdim diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.shrink_mask.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.shrink_mask.rst new file mode 100644 index 00000000..4bd5abf7 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.shrink_mask.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.shrink_mask diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.soften_mask.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.soften_mask.rst new file mode 100644 index 00000000..289846bc --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.soften_mask.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.soften_mask diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.sort.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.sort.rst new file mode 100644 index 00000000..6051ab2f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.sort.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.sort diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.specs2slices.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.specs2slices.rst new file mode 100644 index 00000000..a49d3338 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.specs2slices.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.specs2slices diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.std.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.std.rst new file mode 100644 index 00000000..eafe9a2c --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.std.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.std diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.sum.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.sum.rst new file mode 100644 index 00000000..84c2efe2 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.sum.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.sum diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.swapaxes.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.swapaxes.rst new file mode 100644 index 00000000..838ff70b --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.swapaxes.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.swapaxes diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.take.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.take.rst new file mode 100644 index 00000000..dd46f7a3 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.take.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.take diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.toVisit.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.toVisit.rst new file mode 100644 index 00000000..427f5f49 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.toVisit.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.toVisit diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.tobytes.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.tobytes.rst new file mode 100644 index 00000000..2334d919 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.tobytes.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.tobytes diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.tofile.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.tofile.rst new file mode 100644 index 00000000..ca15529f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.tofile.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.tofile diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.toflex.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.toflex.rst new file mode 100644 index 00000000..91f3e32d --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.toflex.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.toflex diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.tolist.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.tolist.rst new file mode 100644 index 00000000..437ba67f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.tolist.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.tolist diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.torecords.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.torecords.rst new file mode 100644 index 00000000..edafa370 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.torecords.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.torecords diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.tostring.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.tostring.rst new file mode 100644 index 00000000..c0e3f36e --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.tostring.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.tostring diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.trace.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.trace.rst new file mode 100644 index 00000000..09df67b0 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.trace.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.trace diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.transpose.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.transpose.rst new file mode 100644 index 00000000..36c49c28 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.transpose.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.transpose diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.unshare_mask.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.unshare_mask.rst new file mode 100644 index 00000000..81c58854 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.unshare_mask.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.unshare_mask diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.var.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.var.rst new file mode 100644 index 00000000..5d91475e --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.var.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.var diff --git a/docs/source/generated/cdms2.tvariable.TransientVariable.view.rst b/docs/source/generated/cdms2.tvariable.TransientVariable.view.rst new file mode 100644 index 00000000..14aa26d3 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.TransientVariable.view.rst @@ -0,0 +1,6 @@ +cdms2.tvariable:TransientVariable +================================= + +.. currentmodule:: cdms2.tvariable + +.. automethod:: TransientVariable.view diff --git a/docs/source/generated/cdms2.tvariable.asVariable.rst b/docs/source/generated/cdms2.tvariable.asVariable.rst new file mode 100644 index 00000000..e682a5cf --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.asVariable.rst @@ -0,0 +1,6 @@ +cdms2.tvariable +=============== + +.. currentmodule:: cdms2.tvariable + +.. autofunction:: asVariable diff --git a/docs/source/generated/cdms2.tvariable.createAxis.rst b/docs/source/generated/cdms2.tvariable.createAxis.rst new file mode 100644 index 00000000..00cdb42e --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.createAxis.rst @@ -0,0 +1,6 @@ +cdms2.tvariable +=============== + +.. currentmodule:: cdms2.tvariable + +.. autofunction:: createAxis diff --git a/docs/source/generated/cdms2.tvariable.createRectGrid.rst b/docs/source/generated/cdms2.tvariable.createRectGrid.rst new file mode 100644 index 00000000..e7541b8f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.createRectGrid.rst @@ -0,0 +1,6 @@ +cdms2.tvariable +=============== + +.. currentmodule:: cdms2.tvariable + +.. autofunction:: createRectGrid diff --git a/docs/source/generated/cdms2.tvariable.createVariable.rst b/docs/source/generated/cdms2.tvariable.createVariable.rst new file mode 100644 index 00000000..b385f8a7 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.createVariable.rst @@ -0,0 +1,6 @@ +cdms2.tvariable +=============== + +.. currentmodule:: cdms2.tvariable + +.. autofunction:: createVariable diff --git a/docs/source/generated/cdms2.tvariable.fromJSON.rst b/docs/source/generated/cdms2.tvariable.fromJSON.rst new file mode 100644 index 00000000..72ab8450 --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.fromJSON.rst @@ -0,0 +1,6 @@ +cdms2.tvariable +=============== + +.. currentmodule:: cdms2.tvariable + +.. autofunction:: fromJSON diff --git a/docs/source/generated/cdms2.tvariable.isVariable.rst b/docs/source/generated/cdms2.tvariable.isVariable.rst new file mode 100644 index 00000000..3e963c1a --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.isVariable.rst @@ -0,0 +1,6 @@ +cdms2.tvariable +=============== + +.. currentmodule:: cdms2.tvariable + +.. autofunction:: isVariable diff --git a/docs/source/generated/cdms2.tvariable.sctype2char.rst b/docs/source/generated/cdms2.tvariable.sctype2char.rst new file mode 100644 index 00000000..65f78b0f --- /dev/null +++ b/docs/source/generated/cdms2.tvariable.sctype2char.rst @@ -0,0 +1,6 @@ +cdms2.tvariable +=============== + +.. currentmodule:: cdms2.tvariable + +.. autofunction:: sctype2char diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.__call__.rst b/docs/source/generated/cdms2.variable.DatasetVariable.__call__.rst new file mode 100644 index 00000000..9884d6c9 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.__call__.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.__call__ diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.__iadd__.rst b/docs/source/generated/cdms2.variable.DatasetVariable.__iadd__.rst new file mode 100644 index 00000000..1133e51c --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.__iadd__.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.__iadd__ diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.__idiv__.rst b/docs/source/generated/cdms2.variable.DatasetVariable.__idiv__.rst new file mode 100644 index 00000000..84fbaedb --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.__idiv__.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.__idiv__ diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.__imul__.rst b/docs/source/generated/cdms2.variable.DatasetVariable.__imul__.rst new file mode 100644 index 00000000..d87f64d9 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.__imul__.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.__imul__ diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.__init__.rst b/docs/source/generated/cdms2.variable.DatasetVariable.__init__.rst new file mode 100644 index 00000000..47ed7c19 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.__init__.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.__init__ diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.__isub__.rst b/docs/source/generated/cdms2.variable.DatasetVariable.__isub__.rst new file mode 100644 index 00000000..763bb25e --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.__isub__.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.__isub__ diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.__len__.rst b/docs/source/generated/cdms2.variable.DatasetVariable.__len__.rst new file mode 100644 index 00000000..89562318 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.__len__.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.__len__ diff --git a/docs/source/generated/cdms2.variable.DatasetVariable._decodedType.rst b/docs/source/generated/cdms2.variable.DatasetVariable._decodedType.rst new file mode 100644 index 00000000..b9cc17d5 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable._decodedType.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable._decodedType diff --git a/docs/source/generated/cdms2.variable.DatasetVariable._process_specs.rst b/docs/source/generated/cdms2.variable.DatasetVariable._process_specs.rst new file mode 100644 index 00000000..237da6ee --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable._process_specs.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable._process_specs diff --git a/docs/source/generated/cdms2.variable.DatasetVariable._single_specs.rst b/docs/source/generated/cdms2.variable.DatasetVariable._single_specs.rst new file mode 100644 index 00000000..9be9546a --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable._single_specs.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable._single_specs diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.astype.rst b/docs/source/generated/cdms2.variable.DatasetVariable.astype.rst new file mode 100644 index 00000000..628a4dcb --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.astype.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.astype diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.createattribute.rst b/docs/source/generated/cdms2.variable.DatasetVariable.createattribute.rst new file mode 100644 index 00000000..d313455a --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.createattribute.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.createattribute diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.crossSectionRegrid.rst b/docs/source/generated/cdms2.variable.DatasetVariable.crossSectionRegrid.rst new file mode 100644 index 00000000..2cb446c6 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.crossSectionRegrid.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.crossSectionRegrid diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.decode.rst b/docs/source/generated/cdms2.variable.DatasetVariable.decode.rst new file mode 100644 index 00000000..69505154 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.decode.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.decode diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.deleteattribute.rst b/docs/source/generated/cdms2.variable.DatasetVariable.deleteattribute.rst new file mode 100644 index 00000000..53dd0d46 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.deleteattribute.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.deleteattribute diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.dump.rst b/docs/source/generated/cdms2.variable.DatasetVariable.dump.rst new file mode 100644 index 00000000..2c25ab62 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.dump.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.dump diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.expertPaths.rst b/docs/source/generated/cdms2.variable.DatasetVariable.expertPaths.rst new file mode 100644 index 00000000..9ea79d9b --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.expertPaths.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.expertPaths diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.genMatch.rst b/docs/source/generated/cdms2.variable.DatasetVariable.genMatch.rst new file mode 100644 index 00000000..45269d9f --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.genMatch.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.genMatch diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.generateGridkey.rst b/docs/source/generated/cdms2.variable.DatasetVariable.generateGridkey.rst new file mode 100644 index 00000000..b4741b7b --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.generateGridkey.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.generateGridkey diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.generateRectGridkey.rst b/docs/source/generated/cdms2.variable.DatasetVariable.generateRectGridkey.rst new file mode 100644 index 00000000..5b7c83e2 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.generateRectGridkey.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.generateRectGridkey diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getAxisIds.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getAxisIds.rst new file mode 100644 index 00000000..963da850 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getAxisIds.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getAxisIds diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getAxisIndex.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getAxisIndex.rst new file mode 100644 index 00000000..ba60a537 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getAxisIndex.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getAxisIndex diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getAxisList.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getAxisList.rst new file mode 100644 index 00000000..65321393 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getAxisList.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getAxisList diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getAxisListIndex.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getAxisListIndex.rst new file mode 100644 index 00000000..6e5d4f14 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getAxisListIndex.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getAxisListIndex diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getConvention.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getConvention.rst new file mode 100644 index 00000000..b9db59d8 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getConvention.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getConvention diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getFilePath.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getFilePath.rst new file mode 100644 index 00000000..9658fd2a --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getFilePath.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getFilePath diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getForecastTime.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getForecastTime.rst new file mode 100644 index 00000000..1e150966 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getForecastTime.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getForecastTime diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getGridIndices.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getGridIndices.rst new file mode 100644 index 00000000..cc54a4e6 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getGridIndices.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getGridIndices diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getLatitude.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getLatitude.rst new file mode 100644 index 00000000..20f2a870 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getLatitude.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getLatitude diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getLevel.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getLevel.rst new file mode 100644 index 00000000..d91681ce --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getLevel.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getLevel diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getLongitude.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getLongitude.rst new file mode 100644 index 00000000..1b39d49f --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getLongitude.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getLongitude diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getMissing.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getMissing.rst new file mode 100644 index 00000000..ffbf01b1 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getMissing.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getMissing diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getOrder.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getOrder.rst new file mode 100644 index 00000000..80678abb --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getOrder.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getOrder diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getPartition.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getPartition.rst new file mode 100644 index 00000000..d95629a1 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getPartition.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getPartition diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getRegion.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getRegion.rst new file mode 100644 index 00000000..81b6f015 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getRegion.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getRegion diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getSlice.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getSlice.rst new file mode 100644 index 00000000..afc1864d --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getSlice.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getSlice diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getTime.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getTime.rst new file mode 100644 index 00000000..09e373b7 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getTime.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getTime diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getValue.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getValue.rst new file mode 100644 index 00000000..6aba17db --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getValue.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getValue diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getattribute.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getattribute.rst new file mode 100644 index 00000000..4b6f7ae7 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getattribute.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getattribute diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.getdimattribute.rst b/docs/source/generated/cdms2.variable.DatasetVariable.getdimattribute.rst new file mode 100644 index 00000000..5e0a9bd5 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.getdimattribute.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.getdimattribute diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.hasCellData.rst b/docs/source/generated/cdms2.variable.DatasetVariable.hasCellData.rst new file mode 100644 index 00000000..6c78837b --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.hasCellData.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.hasCellData diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.initDomain.rst b/docs/source/generated/cdms2.variable.DatasetVariable.initDomain.rst new file mode 100644 index 00000000..6012e391 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.initDomain.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.initDomain diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.isEncoded.rst b/docs/source/generated/cdms2.variable.DatasetVariable.isEncoded.rst new file mode 100644 index 00000000..42cb629d --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.isEncoded.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.isEncoded diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.listall.rst b/docs/source/generated/cdms2.variable.DatasetVariable.listall.rst new file mode 100644 index 00000000..2d007281 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.listall.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.listall diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.listattributes.rst b/docs/source/generated/cdms2.variable.DatasetVariable.listattributes.rst new file mode 100644 index 00000000..e851109c --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.listattributes.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.listattributes diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.listdimattributes.rst b/docs/source/generated/cdms2.variable.DatasetVariable.listdimattributes.rst new file mode 100644 index 00000000..7a7517f0 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.listdimattributes.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.listdimattributes diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.listdimnames.rst b/docs/source/generated/cdms2.variable.DatasetVariable.listdimnames.rst new file mode 100644 index 00000000..a1b779d2 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.listdimnames.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.listdimnames diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.matchPattern.rst b/docs/source/generated/cdms2.variable.DatasetVariable.matchPattern.rst new file mode 100644 index 00000000..fd6e4179 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.matchPattern.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.matchPattern diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.matchone.rst b/docs/source/generated/cdms2.variable.DatasetVariable.matchone.rst new file mode 100644 index 00000000..741d2445 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.matchone.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.matchone diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.pressureRegrid.rst b/docs/source/generated/cdms2.variable.DatasetVariable.pressureRegrid.rst new file mode 100644 index 00000000..9f61a0e2 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.pressureRegrid.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.pressureRegrid diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.regrid.rst b/docs/source/generated/cdms2.variable.DatasetVariable.regrid.rst new file mode 100644 index 00000000..4f65e3de --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.regrid.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.regrid diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.reorder.rst b/docs/source/generated/cdms2.variable.DatasetVariable.reorder.rst new file mode 100644 index 00000000..b4d765d2 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.reorder.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.reorder diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.searchPattern.rst b/docs/source/generated/cdms2.variable.DatasetVariable.searchPattern.rst new file mode 100644 index 00000000..784bea2d --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.searchPattern.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.searchPattern diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.searchPredicate.rst b/docs/source/generated/cdms2.variable.DatasetVariable.searchPredicate.rst new file mode 100644 index 00000000..b327cf2a --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.searchPredicate.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.searchPredicate diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.searchone.rst b/docs/source/generated/cdms2.variable.DatasetVariable.searchone.rst new file mode 100644 index 00000000..8c095adf --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.searchone.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.searchone diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.select.rst b/docs/source/generated/cdms2.variable.DatasetVariable.select.rst new file mode 100644 index 00000000..9686ae24 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.select.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.select diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.setMissing.rst b/docs/source/generated/cdms2.variable.DatasetVariable.setMissing.rst new file mode 100644 index 00000000..53e1bdb0 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.setMissing.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.setMissing diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.setattribute.rst b/docs/source/generated/cdms2.variable.DatasetVariable.setattribute.rst new file mode 100644 index 00000000..7a91208d --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.setattribute.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.setattribute diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.showdim.rst b/docs/source/generated/cdms2.variable.DatasetVariable.showdim.rst new file mode 100644 index 00000000..df6a1fe8 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.showdim.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.showdim diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.size.rst b/docs/source/generated/cdms2.variable.DatasetVariable.size.rst new file mode 100644 index 00000000..161e422b --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.size.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.size diff --git a/docs/source/generated/cdms2.variable.DatasetVariable.specs2slices.rst b/docs/source/generated/cdms2.variable.DatasetVariable.specs2slices.rst new file mode 100644 index 00000000..c6341913 --- /dev/null +++ b/docs/source/generated/cdms2.variable.DatasetVariable.specs2slices.rst @@ -0,0 +1,6 @@ +cdms2.variable:DatasetVariable +============================== + +.. currentmodule:: cdms2.variable + +.. automethod:: DatasetVariable.specs2slices diff --git a/docs/source/generated/cdms2.variable.getPathFromTemplate.rst b/docs/source/generated/cdms2.variable.getPathFromTemplate.rst new file mode 100644 index 00000000..0a099745 --- /dev/null +++ b/docs/source/generated/cdms2.variable.getPathFromTemplate.rst @@ -0,0 +1,6 @@ +cdms2.variable +============== + +.. currentmodule:: cdms2.variable + +.. autofunction:: getPathFromTemplate diff --git a/docs/source/generated/cdms2.variable.lenSlice.rst b/docs/source/generated/cdms2.variable.lenSlice.rst new file mode 100644 index 00000000..986fbaa6 --- /dev/null +++ b/docs/source/generated/cdms2.variable.lenSlice.rst @@ -0,0 +1,6 @@ +cdms2.variable +============== + +.. currentmodule:: cdms2.variable + +.. autofunction:: lenSlice diff --git a/docs/source/generated/cdms2.variable.reverseSlice.rst b/docs/source/generated/cdms2.variable.reverseSlice.rst new file mode 100644 index 00000000..7e7edf60 --- /dev/null +++ b/docs/source/generated/cdms2.variable.reverseSlice.rst @@ -0,0 +1,6 @@ +cdms2.variable +============== + +.. currentmodule:: cdms2.variable + +.. autofunction:: reverseSlice diff --git a/docs/source/generated/cdms2.variable.sliceIntersect.rst b/docs/source/generated/cdms2.variable.sliceIntersect.rst new file mode 100644 index 00000000..3bea9657 --- /dev/null +++ b/docs/source/generated/cdms2.variable.sliceIntersect.rst @@ -0,0 +1,6 @@ +cdms2.variable +============== + +.. currentmodule:: cdms2.variable + +.. autofunction:: sliceIntersect diff --git a/docs/source/generated/cdms2.variable.slicePartition.rst b/docs/source/generated/cdms2.variable.slicePartition.rst new file mode 100644 index 00000000..f76e4af3 --- /dev/null +++ b/docs/source/generated/cdms2.variable.slicePartition.rst @@ -0,0 +1,6 @@ +cdms2.variable +============== + +.. currentmodule:: cdms2.variable + +.. autofunction:: slicePartition diff --git a/docs/source/generated/cdms2.variable.timeindex.rst b/docs/source/generated/cdms2.variable.timeindex.rst new file mode 100644 index 00000000..f1afd7db --- /dev/null +++ b/docs/source/generated/cdms2.variable.timeindex.rst @@ -0,0 +1,6 @@ +cdms2.variable +============== + +.. currentmodule:: cdms2.variable + +.. autofunction:: timeindex diff --git a/docs/source/generated/regrid2.crossSection.checkdimension.rst b/docs/source/generated/regrid2.crossSection.checkdimension.rst new file mode 100644 index 00000000..05d9e9ca --- /dev/null +++ b/docs/source/generated/regrid2.crossSection.checkdimension.rst @@ -0,0 +1,6 @@ +regrid2.crossSection +==================== + +.. currentmodule:: regrid2.crossSection + +.. autofunction:: checkdimension diff --git a/docs/source/generated/regrid2.crossSection.generic_wts_bnds.rst b/docs/source/generated/regrid2.crossSection.generic_wts_bnds.rst new file mode 100644 index 00000000..6ea0b290 --- /dev/null +++ b/docs/source/generated/regrid2.crossSection.generic_wts_bnds.rst @@ -0,0 +1,6 @@ +regrid2.crossSection +==================== + +.. currentmodule:: regrid2.crossSection + +.. autofunction:: generic_wts_bnds diff --git a/docs/source/generated/regrid2.crossSection.get_latitude_wts_bnds.rst b/docs/source/generated/regrid2.crossSection.get_latitude_wts_bnds.rst new file mode 100644 index 00000000..a671ad87 --- /dev/null +++ b/docs/source/generated/regrid2.crossSection.get_latitude_wts_bnds.rst @@ -0,0 +1,6 @@ +regrid2.crossSection +==================== + +.. currentmodule:: regrid2.crossSection + +.. autofunction:: get_latitude_wts_bnds diff --git a/docs/source/generated/regrid2.crossSection.get_region_latitude_wts_bnds.rst b/docs/source/generated/regrid2.crossSection.get_region_latitude_wts_bnds.rst new file mode 100644 index 00000000..736c5eb6 --- /dev/null +++ b/docs/source/generated/regrid2.crossSection.get_region_latitude_wts_bnds.rst @@ -0,0 +1,6 @@ +regrid2.crossSection +==================== + +.. currentmodule:: regrid2.crossSection + +.. autofunction:: get_region_latitude_wts_bnds diff --git a/docs/source/generated/regrid2.crossSection.latitude_bounds.rst b/docs/source/generated/regrid2.crossSection.latitude_bounds.rst new file mode 100644 index 00000000..67129ac4 --- /dev/null +++ b/docs/source/generated/regrid2.crossSection.latitude_bounds.rst @@ -0,0 +1,6 @@ +regrid2.crossSection +==================== + +.. currentmodule:: regrid2.crossSection + +.. autofunction:: latitude_bounds diff --git a/docs/source/generated/regrid2.crossSection.rmserror.rst b/docs/source/generated/regrid2.crossSection.rmserror.rst new file mode 100644 index 00000000..48956680 --- /dev/null +++ b/docs/source/generated/regrid2.crossSection.rmserror.rst @@ -0,0 +1,6 @@ +regrid2.crossSection +==================== + +.. currentmodule:: regrid2.crossSection + +.. autofunction:: rmserror diff --git a/docs/source/generated/regrid2.crossSection.section.rst b/docs/source/generated/regrid2.crossSection.section.rst new file mode 100644 index 00000000..f29fca30 --- /dev/null +++ b/docs/source/generated/regrid2.crossSection.section.rst @@ -0,0 +1,6 @@ +regrid2.crossSection +==================== + +.. currentmodule:: regrid2.crossSection + +.. autofunction:: section diff --git a/docs/source/generated/regrid2.crossSection.sectionmask.rst b/docs/source/generated/regrid2.crossSection.sectionmask.rst new file mode 100644 index 00000000..11bbcd6f --- /dev/null +++ b/docs/source/generated/regrid2.crossSection.sectionmask.rst @@ -0,0 +1,6 @@ +regrid2.crossSection +==================== + +.. currentmodule:: regrid2.crossSection + +.. autofunction:: sectionmask diff --git a/docs/source/generated/regrid2.crossSection.sendmsg.rst b/docs/source/generated/regrid2.crossSection.sendmsg.rst new file mode 100644 index 00000000..02986aee --- /dev/null +++ b/docs/source/generated/regrid2.crossSection.sendmsg.rst @@ -0,0 +1,6 @@ +regrid2.crossSection +==================== + +.. currentmodule:: regrid2.crossSection + +.. autofunction:: sendmsg diff --git a/docs/source/generated/regrid2.esmf.EsmfRegrid.__call__.rst b/docs/source/generated/regrid2.esmf.EsmfRegrid.__call__.rst new file mode 100644 index 00000000..c2a736b9 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfRegrid.__call__.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfRegrid +======================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfRegrid.__call__ diff --git a/docs/source/generated/regrid2.esmf.EsmfRegrid.__init__.rst b/docs/source/generated/regrid2.esmf.EsmfRegrid.__init__.rst new file mode 100644 index 00000000..5f6b4fe2 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfRegrid.__init__.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfRegrid +======================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfRegrid.__init__ diff --git a/docs/source/generated/regrid2.esmf.EsmfRegrid.getDstAreaFractions.rst b/docs/source/generated/regrid2.esmf.EsmfRegrid.getDstAreaFractions.rst new file mode 100644 index 00000000..d4b271ef --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfRegrid.getDstAreaFractions.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfRegrid +======================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfRegrid.getDstAreaFractions diff --git a/docs/source/generated/regrid2.esmf.EsmfRegrid.getDstAreas.rst b/docs/source/generated/regrid2.esmf.EsmfRegrid.getDstAreas.rst new file mode 100644 index 00000000..bb5d0d60 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfRegrid.getDstAreas.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfRegrid +======================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfRegrid.getDstAreas diff --git a/docs/source/generated/regrid2.esmf.EsmfRegrid.getSrcAreaFractions.rst b/docs/source/generated/regrid2.esmf.EsmfRegrid.getSrcAreaFractions.rst new file mode 100644 index 00000000..ecf244eb --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfRegrid.getSrcAreaFractions.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfRegrid +======================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfRegrid.getSrcAreaFractions diff --git a/docs/source/generated/regrid2.esmf.EsmfRegrid.getSrcAreas.rst b/docs/source/generated/regrid2.esmf.EsmfRegrid.getSrcAreas.rst new file mode 100644 index 00000000..4274818b --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfRegrid.getSrcAreas.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfRegrid +======================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfRegrid.getSrcAreas diff --git a/docs/source/generated/regrid2.esmf.EsmfStructField.__init__.rst b/docs/source/generated/regrid2.esmf.EsmfStructField.__init__.rst new file mode 100644 index 00000000..da90a484 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructField.__init__.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructField +============================ + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructField.__init__ diff --git a/docs/source/generated/regrid2.esmf.EsmfStructField.getData.rst b/docs/source/generated/regrid2.esmf.EsmfStructField.getData.rst new file mode 100644 index 00000000..07bf5dca --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructField.getData.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructField +============================ + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructField.getData diff --git a/docs/source/generated/regrid2.esmf.EsmfStructField.getPointer.rst b/docs/source/generated/regrid2.esmf.EsmfStructField.getPointer.rst new file mode 100644 index 00000000..afb6d32a --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructField.getPointer.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructField +============================ + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructField.getPointer diff --git a/docs/source/generated/regrid2.esmf.EsmfStructField.setLocalData.rst b/docs/source/generated/regrid2.esmf.EsmfStructField.setLocalData.rst new file mode 100644 index 00000000..566f9876 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructField.setLocalData.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructField +============================ + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructField.setLocalData diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.__init__.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.__init__.rst new file mode 100644 index 00000000..b0bfc3ec --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.__init__.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.__init__ diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.getCellAreas.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getCellAreas.rst new file mode 100644 index 00000000..1433c2cb --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getCellAreas.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.getCellAreas diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.getCoordShape.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getCoordShape.rst new file mode 100644 index 00000000..21dbff94 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getCoordShape.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.getCoordShape diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.getCoords.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getCoords.rst new file mode 100644 index 00000000..59d0768a --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getCoords.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.getCoords diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.getLoHiBounds.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getLoHiBounds.rst new file mode 100644 index 00000000..9d08d2c5 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getLoHiBounds.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.getLoHiBounds diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.getLocalSlab.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getLocalSlab.rst new file mode 100644 index 00000000..e8928d69 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getLocalSlab.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.getLocalSlab diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.getMask.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getMask.rst new file mode 100644 index 00000000..b810114a --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.getMask.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.getMask diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.setCellAreas.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.setCellAreas.rst new file mode 100644 index 00000000..00f7d82a --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.setCellAreas.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.setCellAreas diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.setCoords.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.setCoords.rst new file mode 100644 index 00000000..eea9bcd6 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.setCoords.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.setCoords diff --git a/docs/source/generated/regrid2.esmf.EsmfStructGrid.setMask.rst b/docs/source/generated/regrid2.esmf.EsmfStructGrid.setMask.rst new file mode 100644 index 00000000..a9ce99f1 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfStructGrid.setMask.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfStructGrid +=========================== + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfStructGrid.setMask diff --git a/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.__init__.rst b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.__init__.rst new file mode 100644 index 00000000..242eca51 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.__init__.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfUnstructGrid +============================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfUnstructGrid.__init__ diff --git a/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.mytests.rst b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.mytests.rst new file mode 100644 index 00000000..f00aed96 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.mytests.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfUnstructGrid +============================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfUnstructGrid.mytests diff --git a/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.setCells.rst b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.setCells.rst new file mode 100644 index 00000000..75e9b7c9 --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.setCells.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfUnstructGrid +============================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfUnstructGrid.setCells diff --git a/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.setNodes.rst b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.setNodes.rst new file mode 100644 index 00000000..471e181c --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.setNodes.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfUnstructGrid +============================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfUnstructGrid.setNodes diff --git a/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.toVTK.rst b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.toVTK.rst new file mode 100644 index 00000000..6bdb0f1b --- /dev/null +++ b/docs/source/generated/regrid2.esmf.EsmfUnstructGrid.toVTK.rst @@ -0,0 +1,6 @@ +regrid2.esmf:EsmfUnstructGrid +============================= + +.. currentmodule:: regrid2.esmf + +.. automethod:: EsmfUnstructGrid.toVTK diff --git a/docs/source/generated/regrid2.horizontal.extractBounds.rst b/docs/source/generated/regrid2.horizontal.extractBounds.rst new file mode 100644 index 00000000..9151cc4c --- /dev/null +++ b/docs/source/generated/regrid2.horizontal.extractBounds.rst @@ -0,0 +1,6 @@ +regrid2.horizontal +================== + +.. currentmodule:: regrid2.horizontal + +.. autofunction:: extractBounds diff --git a/docs/source/generated/regrid2.horizontal.input_mask.rst b/docs/source/generated/regrid2.horizontal.input_mask.rst new file mode 100644 index 00000000..0359c972 --- /dev/null +++ b/docs/source/generated/regrid2.horizontal.input_mask.rst @@ -0,0 +1,6 @@ +regrid2.horizontal +================== + +.. currentmodule:: regrid2.horizontal + +.. autofunction:: input_mask diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.__init__.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.__init__.rst new file mode 100644 index 00000000..60a9a1e9 --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.__init__.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.__init__ diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.apply.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.apply.rst new file mode 100644 index 00000000..ef1bb0d2 --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.apply.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.apply diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.computeWeights.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.computeWeights.rst new file mode 100644 index 00000000..f3cc2482 --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.computeWeights.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.computeWeights diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.fillInDiagnosticData.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.fillInDiagnosticData.rst new file mode 100644 index 00000000..e40c3197 --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.fillInDiagnosticData.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.fillInDiagnosticData diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstAreaFractions.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstAreaFractions.rst new file mode 100644 index 00000000..433ddbbe --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstAreaFractions.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.getDstAreaFractions diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstAreas.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstAreas.rst new file mode 100644 index 00000000..b1ea2bee --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstAreas.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.getDstAreas diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstGrid.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstGrid.rst new file mode 100644 index 00000000..2c309ccf --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstGrid.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.getDstGrid diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstLocalShape.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstLocalShape.rst new file mode 100644 index 00000000..79e459ab --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstLocalShape.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.getDstLocalShape diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstLocalSlab.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstLocalSlab.rst new file mode 100644 index 00000000..ed227c55 --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getDstLocalSlab.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.getDstLocalSlab diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcAreaFractions.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcAreaFractions.rst new file mode 100644 index 00000000..89a09a39 --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcAreaFractions.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.getSrcAreaFractions diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcAreas.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcAreas.rst new file mode 100644 index 00000000..876e8903 --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcAreas.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.getSrcAreas diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcLocalShape.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcLocalShape.rst new file mode 100644 index 00000000..6df71d6e --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcLocalShape.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.getSrcLocalShape diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcLocalSlab.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcLocalSlab.rst new file mode 100644 index 00000000..8e9bfc10 --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.getSrcLocalSlab.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.getSrcLocalSlab diff --git a/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.setCoords.rst b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.setCoords.rst new file mode 100644 index 00000000..2a2abc2a --- /dev/null +++ b/docs/source/generated/regrid2.mvESMFRegrid.ESMFRegrid.setCoords.rst @@ -0,0 +1,6 @@ +regrid2.mvESMFRegrid:ESMFRegrid +=============================== + +.. currentmodule:: regrid2.mvESMFRegrid + +.. automethod:: ESMFRegrid.setCoords diff --git a/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.__init__.rst b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.__init__.rst new file mode 100644 index 00000000..5c02e51b --- /dev/null +++ b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.__init__.rst @@ -0,0 +1,6 @@ +regrid2.mvGenericRegrid:GenericRegrid +===================================== + +.. currentmodule:: regrid2.mvGenericRegrid + +.. automethod:: GenericRegrid.__init__ diff --git a/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.apply.rst b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.apply.rst new file mode 100644 index 00000000..1160eccf --- /dev/null +++ b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.apply.rst @@ -0,0 +1,6 @@ +regrid2.mvGenericRegrid:GenericRegrid +===================================== + +.. currentmodule:: regrid2.mvGenericRegrid + +.. automethod:: GenericRegrid.apply diff --git a/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.computeWeights.rst b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.computeWeights.rst new file mode 100644 index 00000000..4315ae54 --- /dev/null +++ b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.computeWeights.rst @@ -0,0 +1,6 @@ +regrid2.mvGenericRegrid:GenericRegrid +===================================== + +.. currentmodule:: regrid2.mvGenericRegrid + +.. automethod:: GenericRegrid.computeWeights diff --git a/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.fillInDiagnosticData.rst b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.fillInDiagnosticData.rst new file mode 100644 index 00000000..99cd63e2 --- /dev/null +++ b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.fillInDiagnosticData.rst @@ -0,0 +1,6 @@ +regrid2.mvGenericRegrid:GenericRegrid +===================================== + +.. currentmodule:: regrid2.mvGenericRegrid + +.. automethod:: GenericRegrid.fillInDiagnosticData diff --git a/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.getDstGrid.rst b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.getDstGrid.rst new file mode 100644 index 00000000..565c2a3c --- /dev/null +++ b/docs/source/generated/regrid2.mvGenericRegrid.GenericRegrid.getDstGrid.rst @@ -0,0 +1,6 @@ +regrid2.mvGenericRegrid:GenericRegrid +===================================== + +.. currentmodule:: regrid2.mvGenericRegrid + +.. automethod:: GenericRegrid.getDstGrid diff --git a/docs/source/generated/regrid2.mvGenericRegrid.guessPeriodicity.rst b/docs/source/generated/regrid2.mvGenericRegrid.guessPeriodicity.rst new file mode 100644 index 00000000..9dbb474f --- /dev/null +++ b/docs/source/generated/regrid2.mvGenericRegrid.guessPeriodicity.rst @@ -0,0 +1,6 @@ +regrid2.mvGenericRegrid +======================= + +.. currentmodule:: regrid2.mvGenericRegrid + +.. autofunction:: guessPeriodicity diff --git a/docs/source/generated/regrid2.pressure.checkorder.rst b/docs/source/generated/regrid2.pressure.checkorder.rst new file mode 100644 index 00000000..b8397c44 --- /dev/null +++ b/docs/source/generated/regrid2.pressure.checkorder.rst @@ -0,0 +1,6 @@ +regrid2.pressure +================ + +.. currentmodule:: regrid2.pressure + +.. autofunction:: checkorder diff --git a/docs/source/generated/regrid2.pressure.sendmsg.rst b/docs/source/generated/regrid2.pressure.sendmsg.rst new file mode 100644 index 00000000..1512a0aa --- /dev/null +++ b/docs/source/generated/regrid2.pressure.sendmsg.rst @@ -0,0 +1,6 @@ +regrid2.pressure +================ + +.. currentmodule:: regrid2.pressure + +.. autofunction:: sendmsg diff --git a/docs/source/generated/regrid2.scrip.BicubicRegridder.__call__.rst b/docs/source/generated/regrid2.scrip.BicubicRegridder.__call__.rst new file mode 100644 index 00000000..8550ffcb --- /dev/null +++ b/docs/source/generated/regrid2.scrip.BicubicRegridder.__call__.rst @@ -0,0 +1,6 @@ +regrid2.scrip.BicubicRegridder +============================== + +.. currentmodule:: regrid2.scrip.BicubicRegridder + +.. automethod:: .__call__ diff --git a/docs/source/generated/regrid2.scrip.ConservativeRegridder.regrid.rst b/docs/source/generated/regrid2.scrip.ConservativeRegridder.regrid.rst new file mode 100644 index 00000000..8378efb6 --- /dev/null +++ b/docs/source/generated/regrid2.scrip.ConservativeRegridder.regrid.rst @@ -0,0 +1,6 @@ +regrid2.scrip.ConservativeRegridder +=================================== + +.. currentmodule:: regrid2.scrip.ConservativeRegridder + +.. automethod:: .regrid diff --git a/docs/source/generated/regrid2.scrip.readRegridder.rst b/docs/source/generated/regrid2.scrip.readRegridder.rst new file mode 100644 index 00000000..9c351297 --- /dev/null +++ b/docs/source/generated/regrid2.scrip.readRegridder.rst @@ -0,0 +1,6 @@ +regrid2.scrip +============= + +.. currentmodule:: regrid2.scrip + +.. autofunction:: readRegridder diff --git a/docs/source/gengrid.rst b/docs/source/gengrid.rst new file mode 100644 index 00000000..114c5e0a --- /dev/null +++ b/docs/source/gengrid.rst @@ -0,0 +1,42 @@ +.. _gengrid: + +gengrid +======= +.. currentmodule:: cdms2.gengrid + +.. autosummary:: + :toctree: generated/ + + AbstractGenericGrid + AbstractGenericGrid.clone + AbstractGenericGrid.getMesh + AbstractGenericGrid.getShape + AbstractGenericGrid.getAxis + AbstractGenericGrid.genBounds + AbstractGenericGrid.getMask + AbstractGenericGrid.size + AbstractGenericGrid.writeScrip + AbstractGenericGrid.writeToFile + AbstractGenericGrid.subSlice + AbstractGenericGrid.getGridSlices + AbstractGenericGrid.getIndex + AbstractGenericGrid.intersect + AbstractGenericGrid.getAxisList + AbstractGenericGrid.isClose + AbstractGenericGrid.checkAxes + AbstractGenericGrid.reconcile + AbstractGenericGrid.flatAxes + AbstractGenericGrid.toGenericGrid + + DatasetGenericGrid + DatasetGenericGrid.rpr + + FileGenericGrid + FileGenericGrid.rpr + + TransientGenericGrid + TransientGenericGrid.rpr + TransientGenericGrid.toGenericGrid + TransientGenericGrid.readScripGenericGrid + + diff --git a/docs/source/grid.rst b/docs/source/grid.rst new file mode 100644 index 00000000..68d4855b --- /dev/null +++ b/docs/source/grid.rst @@ -0,0 +1,74 @@ +.. _grid: + +grid +==== + +.. currentmodule:: cdms2.grid + +.. autosummary:: + :toctree: generated/ + + isGrid + setClassifyGrids + createRectGrid + createUniformGrid + createGlobalMeanGrid + createZonalGrid + createGenericGrid + createGaussianGrid + defaultRegion + setRegionSpecs + + AbstractGrid.info + AbstractGrid.writeToFile + AbstractGrid.subSlice + AbstractGrid.hasCoordType + AbstractGrid.getAxisList + AbstractGrid.isClose + AbstractGrid.checkAxes + AbstractGrid.reconcile + AbstractGrid.clone + AbstractGrid.flatAxes + AbstractGrid.size + AbstractGrid.writeScrip + + AbstractRectGrid.getAxis + AbstractRectGrid.getBounds + AbstractRectGrid.getLatitude + AbstractRectGrid.getLongitude + AbstractRectGrid.getMask + AbstractRectGrid.setMask + AbstractRectGrid.getType + AbstractRectGrid.setType + AbstractRectGrid.getWeights + AbstractRectGrid.subGrid + AbstractRectGrid.subGridRegion + AbstractRectGrid.transpose + AbstractRectGrid.classify + AbstractRectGrid.classifyInFamily + AbstractRectGrid.genBounds + AbstractRectGrid.writeToFile + AbstractRectGrid.getMesh + AbstractRectGrid.writeScrip + AbstractRectGrid.toCurveGrid + AbstractRectGrid.toGenericGrid + AbstractRectGrid.getMask + + FileRectGrid.setBounds + FileRectGrid.getMask + FileRectGrid.setMask + FileRectGrid.getMaskVar + + TransientRectGrid.getMask + TransientRectGrid.setMask + TransientRectGrid.setBounds + + + + + + + + + + diff --git a/docs/source/gsRegrid.rst b/docs/source/gsRegrid.rst new file mode 100644 index 00000000..3c32e152 --- /dev/null +++ b/docs/source/gsRegrid.rst @@ -0,0 +1,41 @@ +.. _regrid2-gsRegrid: + +regrid2-gsRegrid +================ +.. currentmodule:: cdms2.regrid2-gsRegrid + +.. autosummary:: + :toctree: generated/ + + Regrid + Regrid.catchError + Regrid.getTensorProduct + Regrid.makeCurvilinear + Regrid.makeCoordsCyclic + Regrid.checkForCoordCut + Regrid.handleCoordsCut + Regrid.getIndices + Regrid.getPeriodicities + Regrid.del + Regrid.find + Regrid.setValidMask + Regrid.setMask + Regrid.computeWeights + Regrid.apply + Regrid.call + Regrid.getNumValid + Regrid.getNumDstPoints + Regrid.getSRcGrid + Regrid.getDstGrid + Regrid.getIndicesAndWeights + Regrid.extend + Regrid.findIndices + Regrid.testMakeCyclic + Regrid.testHandleCut + Regrid.test + Regrid.funcl + Regrid.func2 + Regrid.testMasking + Regrid.func1 + Regrid.func2 + diff --git a/docs/source/gs_horizontal.rst b/docs/source/gs_horizontal.rst new file mode 100644 index 00000000..d0e0439b --- /dev/null +++ b/docs/source/gs_horizontal.rst @@ -0,0 +1,9 @@ +.. _regrid2.gs_horizontal: + +regrid2-gs_horizontal +===================== + +.. automodule:: regrid2.gs_horizontal + :members: + + diff --git a/docs/source/hgrid.rst b/docs/source/hgrid.rst new file mode 100644 index 00000000..b85dcdd0 --- /dev/null +++ b/docs/source/hgrid.rst @@ -0,0 +1,53 @@ +.. _hgrid: + +hgrid +===== +.. currentmodule:: cdms2.hgrid + +.. autosummary:: + :toctree: generated/ + + AbstractHorizontalGrid + AbstractHorizontalGrid.genBounds + AbstractHorizontalGrid.getAxis + AbstractHorizontalGrid.getBounds + AbstractHorizontalGrid.getLatitude + AbstractHorizontalGrid.getLongitude + AbstractHorizontalGrid.getMask + AbstractHorizontalGrid.getMesh + AbstractHorizontalGrid.getWeightsArray + AbstractHorizontalGrid.listall + AbstractHorizontalGrid.setMask + AbstractHorizontalGrid.subGridRegion + AbstractHorizontalGrid.hasCoordType + AbstractHorizontalGrid.checkConvex + AbstractHorizontalGrid.fixCutCells + + AbstractCurveGrid + AbstractCurveGrid.clone + AbstractCurveGrid.getMesh + AbstractCurveGrid._getShape + AbstractCurveGrid.genBounds + AbstractCurveGrid.getAxis + AbstractCurveGrid.getMask + AbstractCurveGrid.size + AbstractCurveGrid.writeScrip + AbstractCurveGrid.toGenericGrid + AbstractCurveGrid.toCurveGrid + AbstractCurveGrid.writeToFile + AbstractCurveGrid.writeg + AbstractCurveGrid.write_gridspec + AbstractCurveGrid.init_from_gridspec + AbstractCurveGrid.init_from_gridspec_file + AbstractCurveGrid.subSlice + AbstractCurveGrid.getGridSlices + AbstractCurveGrid.getIndex + AbstractCurveGrid.intersect + AbstractCurveGrid.getAxisList + AbstractCurveGrid.isClose + AbstractCurveGrid.checkAxes + AbstractCurveGrid.reconcile + AbstractCurveGrid.flatAxes + + readScripCurveGrid + diff --git a/docs/source/horizontal.rst b/docs/source/horizontal.rst new file mode 100644 index 00000000..056d5629 --- /dev/null +++ b/docs/source/horizontal.rst @@ -0,0 +1,14 @@ +.. _horizontal: + +horizontal +========== + +.. currentmodule:: regrid2.horizontal + +.. autosummary:: + :toctree: generated/ + + extractBounds + input_mask + + diff --git a/docs/source/index.rst b/docs/source/index.rst index 3cbec1f9..8092b80a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -23,30 +23,8 @@ CDMS documentation manual/cdms_7 manual/cdms_appendix manual/sample_data + API -# AbstractAxis -# AbstractVariable -# avariable -# axis -# bindex -# cache -# cdmsfile -# cdmsobj -# database -# dataset -# fvariable -# gengrid -# grid -# gsHost -# gsStaticVariable -# gsTimeVariable -# hgrid -# MV2 -# mvSphereMesh -# mvCdmsRegrid -# selectors -# sliceut -# tvariable Indices and tables diff --git a/docs/source/manual/cdms_1.rst b/docs/source/manual/cdms_1.rst index 33a2d191..743cb5e1 100644 --- a/docs/source/manual/cdms_1.rst +++ b/docs/source/manual/cdms_1.rst @@ -6,14 +6,14 @@ Overview The Community Data Management System is an object-oriented data management system, specialized for organizing multidimensional, gridded data used -in climate analysis and simulation. +in climate analysis and simulation. CDMS is implemented as part of the Climate Data Analysis Tool (CDAT), which uses the Python language. The examples in this chapter assume some familiarity with the language and the Python Numpy module (http://www.numpy.org). A number of excellent tutorials on Python are available in books or on the Internet. For example, see -the `Python Foundation's homepage `__. +the `Python Foundation's homepage `__. Variables ^^^^^^^^^ @@ -31,13 +31,14 @@ velocity for time 0 (first index) can be calculated as: .. highlight:: python -.. doctest:: +.. >>> # wget "http://cdat.llnl.gov/cdat/sample_data/clt.nc" >>> f1=cdms2.open("clt.nc") >>> u = f1('u') >>> v = f1('v') >>> from cdms2 import MV + >>> vel = MV.sqrt(u[0]**2 + v[0]**2) This illustrates several points: @@ -93,7 +94,7 @@ from file sample.nc into variable u: os.remove(file) -.. doctest:: +.. >>> # wget "http://cdat.llnl.gov/cdat/sample_data/clt.nc" >>> f = cdms2.open('clt.nc') @@ -103,20 +104,20 @@ Data can be read by index or by world coordinate values. The following reads the n-th timepoint of u (the syntax slice(i,j) refers to indices k such that i <= k < j): -.. doctest:: +.. >>> n = 0 >>> u0 = f('u',time=slice(n,n+1)) To read ``u`` at time 1.: -.. doctest:: +.. >>> u1 = f('u',time=1.) A variable can be written to a file with the write function: -.. doctest:: +.. >>> g = cdms2.open('sample2.nc','w') >>> g.write(u) # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE @@ -144,7 +145,7 @@ latitude, longitude). This indicates the order of the dimensions, with the slowest-varying dimension listed first (time). The domain may be accessed with the ``getAxisList()`` method: -.. doctest:: +.. >>> u.getAxisList() # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE [ id: time1 @@ -208,7 +209,7 @@ associated with a variable. The methods getLatitude, getLongitude, getLevel, and getTime return the associated coordinate axes. For example: -.. doctest:: +.. >>> t = u.getTime() >>> print t[:] @@ -223,11 +224,11 @@ As mentioned above, variables can have associated attributes , name-value pairs. In fact, nearly all CDMS objects can have associated attributes, which are accessed using the Python dot notation: -.. doctest:: +.. - >>> u.units='m/s' - >>> print u.units - m/s + >>> u.units='m/s' + >>> print u.units + m/s Attribute values can be strings, scalars, or 1-D Numpy arrays. @@ -239,14 +240,14 @@ written to an output file along with the variable. By default, when an attribute is set, it is treated as external. Every variable has a field attributes, a Python dictionary that defines the external attributes: -.. doctest:: +.. >>> print u.attributes.keys() - ['name', 'title', 'tileIndex', 'date', 'source', 'time', 'units', 'type'] + 'name', 'title', 'tileIndex', 'date', 'source', 'time', 'units', 'type'] The Python dir command lists the internal attribute names: -.. doctest:: +.. >>> dir(u) ['T', '_FillValue', '_TransientVariable__domain', ..., 'view'] @@ -266,28 +267,27 @@ corresponding data array element is missing or invalid. Arithmetic operations in CDMS take missing data into account. The same is true of the functions defined in the cdms2.MV2 module. For example: -.. doctest:: +.. >>> a = MV2.array([1,2,3]) # Create array a, with no mask >>> b = MV2.array([4,5,6]) # Same for b >>> a+b # variable_... array([5,7,9,]) # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE variable_... masked_array(data = [5 7 9], - mask = False, - fill_value = 999999) - - + mask = False, + fill_value = 999999) + >>> + >>> >>> a[1]=MV2.masked # Mask the second value of a a.mask() >>> a.mask array([False, True, False], dtype=bool) >>> a+b # The sum is masked also # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE variable_... masked_array(data = [5 -- 9], - mask = [False True False], + mask = [False True False], fill_value = 999999) - When data is read from a file, the result variable is masked if the file variable has a missing_value attribute. The mask is set to one for those elements equal to the missing value, zero elsewhere. If no such @@ -302,7 +302,7 @@ Masking is covered in `Section 2.9 `__. See also the documentation of the Python Numpy and MA modules, on which ``cdms.MV`` is based, at -`http://www.numpy.org/ `__. +`https://www.numpy.org/ `__. File Variables ^^^^^^^^^^^^^^ @@ -327,7 +327,7 @@ passing the name of the variable, or by calling the getVariable function. Note that obtaining a file variable does not actually read the data array: -.. doctest:: +.. >>> u = f.getVariable('u') # or u=f['u'] >>> u.shape @@ -344,8 +344,8 @@ file. Specifically: - and calling a file variable like a function reads data associated with the variable: -.. doctest:: - +.. + >>> import os >>> os.system("cp clt.nc /tmp") 0 @@ -367,7 +367,8 @@ For transient variables, the data is printed only if the size of the array is le than the print limit . This value can be set with the function MV.set_print_limit to force the data to be printed: -.. doctest:: +.. + >>> MV2.get_print_limit() # Current limit 1000 1000 @@ -397,10 +398,11 @@ MV.set_print_limit to force the data to be printed: The datatype of the variable is determined with the typecode function: -.. doctest:: +.. + - >>> u.typecode() - 'f' + >>> u.typecode() + 'f' Dataset Variables ^^^^^^^^^^^^^^^^^ @@ -428,7 +430,7 @@ A metafile can be generated with the command: The metafile **cdsample.xml** is then used like an ordinary data file: -.. doctest:: +.. >>> import os >>> os.system("cdscan -x cdsample.xml [uv]*.nc") @@ -481,41 +483,41 @@ grid. Note that: lon ), each a two-dimensional coordinate axis. - lat and lon each have domain ( y , x ) -.. doctest:: +.. >>> f = cdms2.open('sampleCurveGrid4.nc') - - + >>> + >>> >>> # lat and lon are coordinate axes, but are grouped with data variables >>> f.variables.keys() - ['lat', 'sample', 'bounds_lon', 'lon', 'bounds_lat'] - + ['lat', 'sample', 'bounds_lon', 'lon', 'bounds_lat'] + >>> >>> # y and x are index coordinate axes >>> f.axes.keys() ['nvert', 'x', 'y'] - + >>> >>> # Read data for variable sample >>> sample = f('sample') - + >>> >>> # The associated grid g is curvilinear >>> g = sample.getGrid() - + >>> >>> # The domain of the variable consfigists of index axes >>> sample.getAxisIds() ['y', 'x'] - + >>> >>> # Get the coordinate axes associated with the grid >>> lat = g.getLatitude() # or sample.getLatitude() >>> lon = g.getLongitude() # or sample.getLongitude() - + >>> >>> # lat and lon have the same domain, a subset of the domain of 'sample' >>> lat.getAxisIds() ['y', 'x'] - + >>> >>> # lat and lon are variables ... >>> lat.shape (32, 48) - + >>> >>> lat # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE lat masked_array(data = @@ -535,10 +537,11 @@ grid. Note that: mask = False, fill_value = 1e+20) - + >>> >>> lat_in_radians = lat*MV2.pi/180.0 -.. figure:: images/curvilinear_grid.jpg + + .. figure:: images/curvilinear_grid.jpg :alt: curvilinear grid Figure 1: Curvilinear Grid @@ -551,7 +554,7 @@ Example: A Generic Grid In this example variable zs is defined on a generic grid. Figure 2 illustrates the grid, in this case a geodesic grid: -.. doctest:: +.. >>> f.variables.keys() ['lat', 'sample', 'bounds_lon', 'lon', 'bounds_lat'] @@ -572,17 +575,19 @@ illustrates the grid, in this case a geodesic grid: (32, 48) >>> zs.getAxisIds() ['y', 'x'] - + >>> >>> # lat and lon are also defined in terms of the cell axis >>> lat.getAxisIds() ['y', 'x'] - + >>> >>> # lat and lon are one-dimensional, 'auxiliary' coordinate >>> # axes: values are not monotonic >>> lat.__class__ + + .. figure:: images/generic_grid.jpg :alt: generic grid @@ -594,7 +599,7 @@ representation. Similarly, a rectangular grid can be represented as curvilinear. The method toCurveGrid is used to convert a non-generic grid to curvilinear representation: -.. doctest:: * +.. >>> f = cdms2.open(cdat_info.get_sampledata_path()+'/clt.nc') >>> clt = f('clt') @@ -629,7 +634,7 @@ The built-in CDMS regridder is used to transform data from one rectangular grid to another. For example, to regrid variable ``u`` (from a rectangular grid) to a 96x192 rectangular Gaussian grid: -.. doctest:: +.. >>> f = cdms2.open('clt.nc') >>> u = f('u') @@ -642,8 +647,8 @@ a rectangular grid) to a 96x192 rectangular Gaussian grid: To regrid a variable ``uold`` to the same grid as variable ``vnew``: -.. doctest:: - +.. + >>> f = cdms2.open('clt.nc') >>> uold = f('u') >>> unew = f2('uwnd') @@ -652,7 +657,7 @@ To regrid a variable ``uold`` to the same grid as variable ``vnew``: >>> unew.shape (1, 14, 181, 360) >>> t63_grid = unew.getGrid() # Obtain the grid for vnew - >>> u63 = u.regrid(t63_grid) + >>> u63 = uold.regrid(t63_grid) >>> u63.shape (1, 2, 181, 360) @@ -685,8 +690,8 @@ For example, suppose the source data on a T42 grid is to be mapped to a POP curvilinear grid. Assume that SCRIP generated a remapping file named rmp_T42_to_POP43_conserv.nc: -.. doctest:: - +.. + >>> # Import regrid package for regridder functions >>> import regrid2, cdms2 @@ -721,7 +726,7 @@ Relative time is time relative to a fixed base time. It consists of: For example, the time "28.0 days since 1996-1-1" has value= 28.0 , and units=" days since 1996-1-1". To create a relative time type: -.. doctest:: +.. >>> import cdtime >>> rt = cdtime.reltime(28.0, "days since 1996-1-1") @@ -736,7 +741,7 @@ A component time consists of the integer fields year, month, day, hour, minute , and the floating-point field second . For example: -.. doctest:: +.. >>> ct = cdtime.comptime(1996,2,28,12,10,30) >>> ct @@ -751,7 +756,7 @@ representations. For instance, suppose that the time axis of a variable is represented in units " days since 1979" . To find the coordinate value corresponding to January 1, 1990: -.. doctest:: +.. >>> ct = cdtime.comptime(1990,1) >>> rt = ct.torel("days since 1979") @@ -762,7 +767,8 @@ Time values can be used to specify intervals of time to read. The syntax time=(c1,c2) specifies that data should be read for times t such that c1<=t<=c2: -.. doctest:: +.. + >>> fh = cdms2.open(cdat_info.get_sampledata_path() + "/tas_6h.nc") >>> c1 = cdtime.comptime(1980,1) @@ -777,7 +783,7 @@ c1<=t<=c2: or string representations can be used: -.. doctest:: +.. >>> fh = cdms2.open(cdat_info.get_sampledata_path() + "/tas_6h.nc") >>> tas = fh['tas'] @@ -800,14 +806,14 @@ To generate a plot: For example: -.. doctest:: +.. >>> import cdms2, vcs, cdat_info >>> fh=cdms2.open(cdat_info.get_sampledata_path() + "/tas_cru_1979.nc") >>> fh['time'][:] # Print the time coordinates array([ 1476., 1477., 1478., 1479., 1480., 1481., 1482., 1483., 1484., 1485., 1486., 1487.]) - + >>> >>> tas = fh('tas', time=1479) >>> tas.shape (1, 36, 72) @@ -840,13 +846,12 @@ distributed computing environment. At present CDMS supports one particular type of database, based on the Lightweight Directory Access Protocol (LDAP). -.. Here is an example of accessing data via a database: +Here is an example of accessing data via a database: -.. .. doctest:: - -.. >>> db = cdms.connect() # Connect to the default database. -.. >>> f = db.open('ncep_reanalysis_mo') # Open a dataset. -.. >>> f.variables.keys() # List the variables in the dataset. +:: + >>> db = cdms.connect() # Connect to the default database. + >>> f = db.open('ncep_reanalysis_mo') # Open a dataset. + >>> f.variables.keys() # List the variables in the dataset. .. ['ua', 'evs', 'cvvta', 'tauv', 'wap', 'cvwhusa', 'rss', 'rls', ... 'prc', 'ts', 'va'] diff --git a/docs/source/manual/cdms_2.rst b/docs/source/manual/cdms_2.rst index a6e1fb21..339d77ef 100644 --- a/docs/source/manual/cdms_2.rst +++ b/docs/source/manual/cdms_2.rst @@ -14,7 +14,7 @@ Overview import requests fnames = [ 'clt.nc', 'geos-sample', 'xieArkin-T42.nc', 'remap_grid_POP43.nc', 'remap_grid_T42.nc', 'rmp_POP43_to_T42_conserv.n', 'rmp_T42_to_POP43_conserv.nc', 'ta_ncep_87-6-88-4.nc', 'rmp_T42_to_C02562_conserv.nc' ] for file in fnames: - url = 'http://uvcdat.llnl.gov/cdat/sample_data/'+file + url = 'https://cdat.llnl.gov/cdat/sample_data/'+file r = requests.get(url) open(file, 'wb').write(r.content) @@ -46,8 +46,8 @@ the class internal (non-persistent) attributes, constructors (functions for creating an object), and class methods (functions). A method can return an instance of a CDMS class, or one of the Python types: -Table PythonTypes used in CDMS -------------------------------- +PythonTypes used in CDMS +------------------------ .. csv-table:: :header: "Type", "Description" :widths: 10, 80 @@ -55,7 +55,7 @@ Table PythonTypes used in CDMS "Array", "Numpy or masked multidimensional data array. All elements of the array are of the same type. Defined in the Numpy and MV2 modules." "Comptime", "Absolute time value, a time with representation (year, month, day, hour, minute, second). Defined in the cdtime module. cf. reltime" - "Dictionary","An unordered 2,3collection of objects, indexed by key. All dictionaries in CDMS are indexed by strings, e.g.: ``axes['time']``" + "Dictionary","An unordered 2,3 collection of objects, indexed by key. All dictionaries in CDMS are indexed by strings, e.g.: ``axes['time']``" "Float", "Floating-point value." "Integer", "Integer value." "List", "An ordered sequence of objects, which need not be of the same type. New members can be inserted or appended. Lists are denoted with square brackets, e.g., ``[1, 2.0, 'x', 'y']``" @@ -71,8 +71,8 @@ data from an input dataset, averages over time, and writes the results to an output file. The input temperature data is ordered (time, latitude, longitude). -.. doctest:: - +.. + >>> import cdms2, cdat_info >>> from cdms2 import MV >>> jones = cdms2.open(cdat_info.get_sampledata_path()+'/tas_mo.nc') @@ -102,12 +102,22 @@ latitude, longitude). "2,3", "Makes the CDMS and MV modules available. MV defines arithmetic functions." "4", "Opens a netCDF file read-only. The result jones is a dataset object." "5", "Gets the surface air temperature variable. ‘tas’ is the name of the variable in the input dataset. This does not actually read the data." - "6", "Read all January monthly mean data into a variable jans. Variables can be sliced like arrays. The slice operator [0::12] means take every 12th slice from dimension 0, starting at index 0 and ending at the last index. If the stride 12 were omitted, it would default to 1. Note that the variable is actually 3-dimensional. Since no slice is specified for the second or third dimensions, all values of those 2,3 dimensions are retrieved. The slice operation could also have been written [0::12, : , :]. Also note that the same script works for multi-file datasets. CDMS opens the needed data files, extracts the appropriate slices, and concatenates them into the result array." + "6", "Read all January monthly mean data into a variable jans. + * Variables can be sliced like arrays. + * The slice operator [0::12] means take every 12th slice from dimension 0, starting at index 0 and ending at the last index. + * If the stride 12 were omitted, it would default to 1. + **Note:** that the variable is actually 3-dimensional. + * Since no slice is specified for the second or third dimensions, all values of those 2,3 dimensions are retrieved. + * The slice operation could also have been written [0::12, : , :]. + * Also note that the same script works for multi-file datasets. CDMS opens the needed data files, extracts the appropriate slices, and concatenates them into the result array." "7", "Reads all July data into a masked array julys." "8", "Calculate the average January value for each grid zone. Any missing data is handled automatically." "9,10", "Set the variable id and long\_name attributes. The id is used as the name of the variable when plotted or written to a file." "14", "Create a new netCDF output file named ‘janjuly.nc’ to hold the results." - "15", "Write the January average values to the output file. The variable will have id “tas\_jan” in the file. ``write`` is a utility function which creates the variable in the file, then writes data to the variable. A more general method of data output is first to create a variable, then set a slice of the variable. Note that janavg and julavg have the same latitude and longitude information as tasvar. It is carried along with the computations." + "15", "Write the January average values to the output file. + * The variable will have id “tas\_jan” in the file. ``write`` is a utility function which creates the variable in the file, then writes data to the variable. + * A more general method of data output is first to create a variable, then set a slice of the variable. + **Note:** that janavg and julavg have the same latitude and longitude information as tasvar. It is carried along with the computations." "17", "Set the global attribute ‘comment’." "18", "Close the output file." @@ -134,8 +144,8 @@ Rather, they are called as module functions, e.g., -Table Cdms Module Functions ---------------------------- +Cdms Module Functions +--------------------- .. csv-table:: :header: "Type", "Definition" @@ -143,88 +153,146 @@ Table Cdms Module Functions :align: left - "``Variable``", "``asVariable(s)``: Transform ``s`` into a transient variable. ``s`` is a masked array, Numpy array, or Variable. If ``s`` is already a transient variable, ``s`` is returned. See also: ``isVariable``." - "``Axis``", "``createAxis(data, bounds=None)``:" - , "Create a one-dimensional coordinate Axis, which is not associated with a file or dataset. This is useful for creating a grid which is not contained in a file or dataset." - , " * ``data`` is a one-dimensional, monotonic Numpy array. ``bounds`` is an array of shape ``(len(data),2)``, such that for all ``i``, ``data[i]`` is in the range ``[bounds[i,0],bounds[i,1] ]``. If ``bounds`` is not specified, the default boundaries are generated at the midpoints between the consecutive data values, provided that the autobounds mode is 'on' (the default)." - , " * See ``setAutoBounds``." - , " * Also see: ``CdmsFile.createAxis``" - "``Axis``", "``createEqualAreaAxis(nlat)``:" - , "Create an equal-area latitude axis. The latitude values range from north to south, and for all axis values ``x[i]``, ``sin(x[i])sin(x[i+1])`` is constant. ``nlat`` is the axis length. The axis is not associated with a file or dataset." - "``Axis``", "``createGaussianAxis(nlat)``:" - , "Create a Gaussian latitude axis. Axis values range from north to south. ``nlat`` is the axis length. The axis is not associated with a file or dataset." - "``RectGrid``", "``createGaussianGrid(nlats, xorigin=0.0, order='yx')``:" - , "Create a Gaussian grid, with shape ``(nlats, 2*nlats)``. ``nlats`` is the number of latitudes. ``xorigin`` is the origin of the longitude axis. ``order`` is either 'yx' (lat-lon, default) or 'xy' (lon-lat)" - "``RectGrid``", "``createGenericGrid(latArray, lonArray, latBounds=None, lonBounds=None, order='yx', mask=None)``:" - , "Create a generic grid, that is, a grid which is not typed as Gaussian, uniform, or equal-area. The grid is not associated with a file or dataset. ``latArray`` is a NumPy array of latitude values." - , " * ``lonArray`` is a NumPy array of longitude values. " - , " * ``latBounds`` is a NumPy array having shape ``(len(latArray),2)``, of latitude boundaries. " - , " * ``lonBounds`` is a NumPy array having shape ``(len(lonArray),2)``, of longitude boundaries. " - , " * ``order`` is a ``string`` specifying the order of the axes, either 'yx' for (latitude, longitude), or 'xy' for the reverse." - , " * ``mask`` (optional) is an ``integer``-valued NumPy mask array, having the same shape and ordering as the grid." - - "``RectGrid``", "``createGlobalMeanGrid(grid)``:" - , "Generate a grid for calculating the global mean via a regridding operation. The return grid is a single zone covering the range of he input grid. ``grid`` is a RectGrid." - - "``RectGrid``", "``createRectGrid(lat, lon, order, type='generic', mask=None)``:" - , "Create a rectilinear grid, not associated with a file or dataset. This might be used as the target grid for a regridding operation." - , " * ``lat`` is a latitude axis, created by ``cdms.createAxis``." - , " * ``lon`` is a longitude axis, created by ``cdms.createAxis``." - , " * ``order`` is a string with value 'yx' (the first grid dimension is latitude) or 'xy' (the first grid dimension is longitude)." - , " * ``type`` is one of 'gaussian','uniform','equalarea',or 'generic'." - , " * If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid." - - "``RectGrid``", "``createUniformGrid(startLat, nlat, deltaLat, start-Lon, nlon, deltaLon, order='yx', mask=None)``:" - , "Create a uniform rectilinear grid. The grid is not associated with a file or dataset. The grid boundaries are at the midpoints of the axis values." - , " * ``startLat`` is the starting latitude value." - , " * ``nlat`` is the number of latitudes. If ``nlat`` is 1, the grid latitude boundaries will be ``startLat`` +/- ``deltaLat/2``." - , " * ``deltaLat`` is the increment between latitudes. ``startLon`` is the starting longitude value." - , " * ``nlon`` is the number of longitudes. If ``nlon`` is 1, the grid longitude boundaries will be ``startLon`` +/- ``deltaLon/2``." - , " * ``deltaLon`` is the increment between longitudes. ``order`` is a string with value 'yx. (the first grid dimension is latitude) or .xy. (the first grid dimension is longitude)." - , " * If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid." - "``Axis``", "``createUniformLatitudeAxis(startLat , nlat, deltaLat)``:" - , "Create a uniform latitude axis. The axis boundaries are at the midpoints of the axis values. The axis is designated as a circular latitude axis." - , " * ``startLat`` is the starting latitude value." - , " * ``nlat`` is the number of latitudes." - , " * ``deltaLat`` is the increment between latitudes." - "``RectGrid``"," ``createZonalGrid(grid)``: Create a zonal grid. The output grid has the same latitude as the input grid, and a single longitude. This may be used to calculate zonal averages via a regridding operation. ``grid`` is a RectGrid." - "``Axis``", "``createUniformLongitudeAxis(startLon, nlon, delta-Lon)``:" - , "Create a uniform longitude axis. The axis boundaries are at the midpoints of the axis values. The axis is designated as a circular longitude axis." - , " * ``startLon`` is the starting longitude value." - , " * ``nlon`` is the number of longitudes." - , " * ``deltaLon`` is the increment between longitudes." + "``Variable``", "``asVariable(s)``: + Transform ``s`` into a transient variable. + * ``s`` is a masked array, Numpy array, or Variable. + * If ``s`` is already a transient variable, ``s`` is returned. + * See also: ``isVariable``." + "``Axis``", "``createAxis(data, bounds=None)``: + Create a one-dimensional coordinate Axis, which is not associated with a file or dataset. + This is useful for creating a grid which is not contained in a file or dataset. + * ``data`` is a one-dimensional, monotonic Numpy array. + * ``bounds`` is an array of shape ``(len(data),2)``, such that for all ``i`` + * ``data[i]`` is in the range ``[bounds[i,0],bounds[i,1] ]``. + **Note:** If ``bounds`` is not specified, the default boundaries are generated at the midpoints between the consecutive data values, provided that the autobounds mode is 'on' (the default). + * See ``setAutoBounds``. + * Also see: ``CdmsFile.createAxis``" + "``Axis``", "``createEqualAreaAxis(nlat)``: + Create an equal-area latitude axis. + The latitude values range from north to south, and for all axis values ``x[i]``, ``sin(x[i])sin(x[i+1])`` is constant. + * ``nlat`` is the axis length. + **Note:** The axis is not associated with a file or dataset." + "``Axis``", "``createGaussianAxis(nlat)``: + Create a Gaussian latitude axis. + Axis values range from north to south. + * ``nlat`` is the axis length. + **Note:** The axis is not associated with a file or dataset." + "``RectGrid``", "``createGaussianGrid(nlats, xorigin=0.0, order='yx')``: + Create a Gaussian grid, with shape ``(nlats, 2*nlats)``. + * ``nlats`` is the number of latitudes. + * ``xorigin`` is the origin of the longitude axis. + * ``order`` is either 'yx' (lat-lon, default) or 'xy' (lon-lat)" + "``RectGrid``", "``createGenericGrid(latArray, lonArray, latBounds=None, lonBounds=None, order='yx', mask=None)``: + Create a generic grid, that is, a grid which is not typed as Gaussian, uniform, or equal-area. + The grid is not associated with a file or dataset. + * ``latArray`` is a NumPy array of latitude values. + * ``lonArray`` is a NumPy array of longitude values. + * ``latBounds`` is a NumPy array having shape ``(len(latArray),2)``, of latitude boundaries. + * ``lonBounds`` is a NumPy array having shape ``(len(lonArray),2)``, of longitude boundaries. + * ``order`` is a ``string`` specifying the order of the axes, either 'yx' for (latitude, longitude), or 'xy' for the reverse. + * ``mask`` (optional) is an ``integer``-valued NumPy mask array, having the same shape and ordering as the grid." + "``RectGrid``", "``createGlobalMeanGrid(grid)``: + Generate a grid for calculating the global mean via a regridding operation. + The return grid is a single zone covering the range of he input grid. + * ``grid`` is a RectGrid." + "``RectGrid``", "``createRectGrid(lat, lon, order, type='generic', mask=None)``: + Create a rectilinear grid, not associated with a file or dataset. + This might be used as the target grid for a regridding operation. + * ``lat`` is a latitude axis, created by ``cdms.createAxis``. + * ``lon`` is a longitude axis, created by ``cdms.createAxis``. + * ``order`` is a string with value 'yx' (the first grid dimension is latitude) or 'xy' (the first grid dimension is longitude). + * ``type`` is one of 'gaussian','uniform','equalarea',or 'generic'. + * If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid." + "``RectGrid``", "``createUniformGrid(startLat, nlat, deltaLat, start-Lon, nlon, deltaLon, order='yx', mask=None)``: + Create a uniform rectilinear grid. + The grid is not associated with a file or dataset. + The grid boundaries are at the midpoints of the axis values. + * ``startLat`` is the starting latitude value. + * ``nlat`` is the number of latitudes. + * If ``nlat`` is 1, the grid latitude boundaries will be ``startLat`` +/- ``deltaLat/2``. + * ``deltaLat`` is the increment between latitudes. + * ``startLon`` is the starting longitude value. + * ``nlon`` is the number of longitudes. + * If ``nlon`` is 1, the grid longitude boundaries will be ``startLon`` +/- ``deltaLon/2``. + * ``deltaLon`` is the increment between longitudes. + * ``order`` is a string with value 'yx. (the first grid dimension is latitude) or .xy. (the first grid dimension is longitude). + * If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid." + "``Axis``", "``createUniformLatitudeAxis(startLat , nlat, deltaLat)``: + Create a uniform latitude axis. + The axis boundaries are at the midpoints of the axis values. + The axis is designated as a circular latitude axis. + * ``startLat`` is the starting latitude value. + * ``nlat`` is the number of latitudes. + * ``deltaLat`` is the increment between latitudes." + "``RectGrid``","``createZonalGrid(grid)``: + Create a zonal grid. + The output grid has the same latitude as the input grid, and a single longitude. + This may be used to calculate zonal averages via a regridding operation. + * ``grid`` is a RectGrid." + "``Axis``", "``createUniformLongitudeAxis(startLon, nlon, delta-Lon)``: + Create a uniform longitude axis. + The axis boundaries are at the midpoints of the axis values. + The axis is designated as a circular longitude axis. + * ``startLon`` is the starting longitude value. + * ``nlon`` is the number of longitudes. + * ``deltaLon`` is the increment between longitudes." "``Variable``", "``createVariable(array, typecode=None, copy=0, savespace=0, mask=None, fill_value=None, grid=None, axes=None , attributes=None, id=None)``:" - "``Integer``", "``getAutoBounds()``: Get the current autobounds mode. Returns 0, 1, or 2." - , " * See ``setAutoBounds``." - "``Integer``", "``isVariable(s)``: " - , " * Return ``1`` if ``s`` is a variable, ``0`` otherwise. See also: ``asVariable``." - "``Dataset``", "``open(url,mode='r')``: Open or create a ``Dataset`` or ``CdmsFile``." - , " * ``url`` is a Uniform Resource Locator, referring to a cdunif or XML file. If the URL has the extension '.xml' or '.cdml', a ``Dataset`` is returned, otherwise a ``CdmsFile`` is returned." - , " * If the URL protocol is 'http', the file must be a '.xml' or '.cdml' file, and the mode must be 'r'. If the protocol is 'file' or is omitted, a local file or dataset is opened. ``mode`` is the open mode. See `Open Modes <#table-open-modes>`__" - , " * **Example**: Open an existing dataset: ``f = cdms.open('sampleset.xml')``" - , " * **Example**: Create a netCDF file: ``f = cdms.open('newfile.nc','w')``" - "``List``", "``order2index (axes, orderstring)``:" - , "Find the index permutation of axes to match order. Return a list of indices. ``axes`` is a list of axis objects. ``orderstring`` is defined as in ``orderparse``." - "``List``", "``orderparse(orderstring)``:" - , "Parse an order string. Returns a list of axes specifiers. ``orderstring`` consists of:" - - , " * Letters t, x, y, z meaning time, longitude, latitude, level" - , " * Numbers 0-9 representing position in axes" - , " * Dash (-) meaning insert the next available axis here." - , " * The ellipsis ... meaning fill these positions with any remaining axes." - , " * (name) meaning an axis whose id is name" - "``None``", "``setAutoBounds(mode)``:" - , "Set autobounds mode. In some circumstances CDMS can generate boundaries for 1-D axes and rectilinear grids, when the bounds are not explicitly defined. The autobounds mode determines how this is done: If ``mode`` is ``'grid'`` or ``2`` (the default), the ``getBounds`` method will automatically generate boundary information for an axis or grid if the axis is designated as a latitude or longitude axis, and the boundaries are not explicitly defined. If ``mode`` is ``'on'`` or ``1``, the ``getBounds`` method will automatically generate boundary information for an axis or grid, if the boundaries are not explicitly defined. If ``mode`` is ``'off'`` or ``0``, and no boundary data is explicitly defined, the bounds will NOT be generated; the ``getBounds`` method will return ``None`` for the boundaries. Note: In versions of CDMS prior to V4.0, the default ``mode`` was ``'on'``." - "``None``", "``setClassifyGrids(mode)``:" - , "Set the grid classification mode. This affects how grid type is determined, for the purpose of generating grid boundaries. If ``mode`` is ``'on'`` (the default), grid type is determined by a grid classification method, regardless of the value of ``grid.get-Type()``. If ``mode`` is ``'off'``, the value of ``grid.getType()`` determines the grid type." - "``None``", "``writeScripGrid(path, grid, gridTitle=None)``:" - , "Write a grid to a SCRIP grid file. ``path`` is a string, the path of the SCRIP file to be created. ``grid`` is a CDMS grid object. It may be rectangular. ``gridTitle`` is a string ID for the grid." - - - - -Table Class Tags --------------------- + "``Integer``", "``getAutoBounds()``: + Get the current autobounds mode. + * Returns 0, 1, or 2. + * See ``setAutoBounds``." + "``Integer``", "``isVariable(s)``: + * Return ``1`` if ``s`` is a variable, ``0`` otherwise. + * See also: ``asVariable``." + "``Dataset``", "``open(url,mode='r')``: + Open or create a ``Dataset`` or ``CdmsFile``. + * ``url`` is a Uniform Resource Locator, referring to a cdunif or XML file. + * If the URL has the extension '.xml' or '.cdml', a ``Dataset`` is returned, otherwise a ``CdmsFile`` is returned. + * If the URL protocol is 'http', the file must be a '.xml' or '.cdml' file, and the mode must be 'r'. + * If the protocol is 'file' or is omitted, a local file or dataset is opened. + * ``mode`` is the open mode. See `Open Modes <#table-open-modes>`__ + **Example:** + Open an existing dataset: ``f = cdms.open('sampleset.xml')`` + + **Example:** + Create a netCDF file: ``f = cdms.open('newfile.nc','w')``" + "``List``", "``order2index (axes, orderstring)``: + Find the index permutation of axes to match order. + * Return a list of indices. + * ``axes`` is a list of axis objects. + * ``orderstring`` is defined as in ``orderparse``." + "``List``", "``orderparse(orderstring)``: + Parse an order string. + * Returns a list of axes specifiers. + ``orderstring`` consists of: + * Letters t, x, y, z meaning time, longitude, latitude, level + * Numbers 0-9 representing position in axes + * Dash (-) meaning insert the next available axis here. + * The ellipsis ... meaning fill these positions with any remaining axes. + * (name) meaning an axis whose id is name" + "``None``", "``setAutoBounds(mode)``: + Set autobounds mode. + In some circumstances CDMS can generate boundaries for 1-D axes and rectilinear grids, when the bounds are not explicitly defined. + The autobounds mode determines how this is done: + * If ``mode`` is ``'grid'`` or ``2`` (the default), the ``getBounds`` method will automatically generate boundary information for an axis or grid if the axis is designated as a latitude or longitude axis, and the boundaries are not explicitly defined. + * If ``mode`` is ``'on'`` or ``1``, the ``getBounds`` method will automatically generate boundary information for an axis or grid, if the boundaries are not explicitly defined. + * If ``mode`` is ``'off'`` or ``0``, and no boundary data is explicitly defined, the bounds will NOT be generated; the ``getBounds`` method will return ``None`` for the boundaries. + **Note:** In versions of CDMS prior to V4.0, the default ``mode`` was ``'on'``." + "``None``", "``setClassifyGrids(mode)``: + Set the grid classification mode. + This affects how grid type is determined, for the purpose of generating grid boundaries. + * If ``mode`` is ``'on'`` (the default), grid type is determined by a grid classification method, regardless of the value of ``grid.get-Type()``. + * If ``mode`` is ``'off'``, the value of ``grid.getType()`` determines the grid type." + "``None``", "``writeScripGrid(path, grid, gridTitle=None)``: + Write a grid to a SCRIP grid file. + * ``path`` is a string, the path of the SCRIP file to be created. + * ``grid`` is a CDMS grid object. It may be rectangular. ``gridTitle`` is a string ID for the grid." + + + + +Class Tags +---------- .. csv-table:: :header: "Tag", "Class" :widths: 20, 20 @@ -256,10 +324,11 @@ external attributes are written, but not the internal attributes. .. doctest:: - extatts = obj.attributes.keys() +Attributes Common to All CDMS Objects +------------------------------------- -Table Attributes Common to All CDMS Objects -------------------------------------------- +Attributes Common to All CDMS Objects +------------------------------------- .. csv-table:: Attributes common to all CDMS objects :header: "Type", "Name", "Definition" @@ -268,16 +337,20 @@ Table Attributes Common to All CDMS Objects "Dictionary", "attributes", "External attribute dictionary for this object." -Table Getting and Setting Attributes ------------------------------------- +Getting and Setting Attributes +------------------------------ .. csv-table:: :header: "Type", "Definition" :widths: 20, 80 - "various", "``value = obj.attname``" - , "Get an internal or external attribute value. If the attribute is external, it is read from the database. If the attribute is not already in the database, it is created as an external attribute. Internal attributes cannot be created, only referenced." - "various", "``obj.attname = value``" - , "Set an internal or external attribute value. If the attribute is external, it is written to the database." + "various", "``value = obj.attname`` + Get an internal or external attribute value. + * If the attribute is external, it is read from the database. + * If the attribute is not already in the database, it is created as an external attribute. + **Note:** Internal attributes cannot be created, only referenced." + "various", "``obj.attname = value`` + Set an internal or external attribute value. + * If the attribute is external, it is written to the database." @@ -296,20 +369,29 @@ documents methods that are common to all CoordinateAxis types. See `HorizontalGrid <#id4>`_ specifies methods that are unique to 1D Axis objects. -Table CoordinateAxis Types --------------------------- +CoordinateAxis Types +-------------------- .. csv-table:: :header: "Type", "Definition" :widths: 20, 80 - "``CoordinateAxis``", "A variable that represents coordinate information. Has subtypes ``Axis2D`` and ``AuxAxis1D``." - "``Axis``", "A one-dimensional coordinate axis whose values are strictly monotonic. Has subtypes ``DatasetAxis``, ``FileAxis``, and ``TransientAxis``. May be an index axis, mapping a range of integers to the equivalent floating point value. If a latitude or longitude axis, may be associated with a ``RectGrid``." - "``Axis2D``", "A two-dimensional coordinate axis, typically a latitude or longitude axis related to a ``CurvilinearGrid``. Has subtypes ``DatasetAxis2D``, ``FileAxis2D``, and ``TransientAxis2D``." - "``AuxAxis1D``", "A one-dimensional coordinate axis whose values need not be monotonic. Typically a latitude or longitude axis associated with a ``GenericGrid``. Has subtypes ``DatasetAuxAxis1D``, ``FileAuxAxis1D``, and ``TransientAuxAxis1D``. An axis in a ``CdmsFile`` may be designated the unlimited axis, meaning that it can be extended in length after the initial definition. There can be at most one unlimited axis associated with a ``CdmsFile``." - -Table CoordinateAxis Internal Attributes ----------------------------------------- + "``CoordinateAxis``", "A variable that represents coordinate information. + * Has subtypes ``Axis2D`` and ``AuxAxis1D``." + "``Axis``", "A one-dimensional coordinate axis whose values are strictly monotonic. + * Has subtypes ``DatasetAxis``, ``FileAxis``, and ``TransientAxis``. + * May be an index axis, mapping a range of integers to the equivalent floating point value. + * If a latitude or longitude axis, may be associated with a ``RectGrid``." + "``Axis2D``", "A two-dimensional coordinate axis, typically a latitude or longitude axis related to a ``CurvilinearGrid``. + * Has subtypes ``DatasetAxis2D``, ``FileAxis2D``, and ``TransientAxis2D``." + "``AuxAxis1D``", "A one-dimensional coordinate axis whose values need not be monotonic. + * Typically a latitude or longitude axis associated with a ``GenericGrid``. + * Has subtypes ``DatasetAuxAxis1D``, ``FileAuxAxis1D``, and ``TransientAuxAxis1D``. + * An axis in a ``CdmsFile`` may be designated the unlimited axis, meaning that it can be extended in length after the initial definition. + * There can be at most one unlimited axis associated with a ``CdmsFile``." + +CoordinateAxis Internal Attributes +---------------------------------- .. csv-table:: :header: "Type", "Name", "Definition" @@ -320,30 +402,36 @@ Table CoordinateAxis Internal Attributes "``Dataset``", "``parent``", "The dataset which contains the variable." "``Tuple``", "``shape``", "The length of each axis." -Table Axis Constructors ------------------------ +Axis Constructors +----------------- .. csv-table:: :header: "Constructor", "Description" :widths: 20, 80 - "``cdms.createAxis(data, bounds=None)``", "Create an axis which is not associated with a dataset or file. See `A First Example <#a-first-example>`_." + "``cdms.createAxis(data, bounds=None)``", "Create an axis which is not associated with a dataset or file. + * See `A First Example <#a-first-example>`_." "``Dataset.createAxis(name,ar)``", "Create an ``Axis`` in a ``Dataset``. (This function is not yet implemented.)" - "``CdmsFile.createAxis(name,ar,unlimited=0)``", "Create an Axis in a ``CdmsFile``. ``name`` is the string ``name`` of the ``Axis``. ``ar`` is a 1-D data array which defines the ``Axis`` values. It may have the value ``None`` if an unlimited axis is being defined. At most one ``Axis`` in a ``CdmsFile`` may be designated as being unlimited, meaning that it may be extended in length. To define an axis as unlimited, either:" - , "* A) set ``ar`` to ``None``, and leave ``unlimited`` undefined, or" - , "* B) set ``ar`` to the initial 1-D array, and set ``unlimited`` to ``cdms.Unlitmited``" - , "``cdms.createEqualAreaAxis(nlat)``" - , "* See `A First Example`_." - , "``cdms.createGaussianAxis(nlat)``" - , "* See `A First Example`_." - , "``cdms.createUniformLatitudeAxis(startlat, nlat, deltalat)``" - , "* See `A First Example`_." - , "``cdms.createUniformLongitudeAxis(startlon, nlon, deltalon)``" - , "* See `A First Example`_ ." - - -Table CoordinateAxis Methods ----------------------------- + "``CdmsFile.createAxis(name,ar,unlimited=0)``", "Create an Axis in a ``CdmsFile``. + * ``name`` is the string ``name`` of the ``Axis``. + * ``ar`` is a 1-D data array which defines the ``Axis`` values. + * It may have the value ``None`` if an unlimited axis is being defined. + * At most one ``Axis`` in a ``CdmsFile`` may be designated as being unlimited, meaning that it may be extended in length. + To define an axis as unlimited, either: + * A) set ``ar`` to ``None``, and leave ``unlimited`` undefined, or + * B) set ``ar`` to the initial 1-D array, and set ``unlimited`` to ``cdms.Unlitmited`` + * ``cdms.createEqualAreaAxis(nlat)`` + * See `A First Example`_. + * ``cdms.createGaussianAxis(nlat)`` + * See `A First Example`_. + * ``cdms.createUniformLatitudeAxis(startlat, nlat, deltalat)`` + * See `A First Example`_. + * ``cdms.createUniformLongitudeAxis(startlon, nlon, deltalon)`` + * See `A First Example`_ ." + + +CoordinateAxis Methods +---------------------- .. csv-table:: :header: "Type", "Method", "Definition" @@ -351,38 +439,59 @@ Table CoordinateAxis Methods :align: left - "``Array``", "``array = axis[i:j]``", "Read a slice of data from the external file or dataset. Data is returned in the physical ordering defined in the dataset. See `Variable Slice Operators <#table-variable-slice-operators>`_ for a description of slice operators." - "``None``", "``axis[i:j] = array``", "Write a slice of data to the external file. Dataset axes are read-only." - "``None``", "``assignValue(array)``", "Set the entire value of the axis. ``array`` is a Numpy array, of the same dimensionality as the axis." - "``Axis``", "``clone(copyData=1)``", "Return a copy of the axis, as a transient axis. If copyData is 1 (the default) the data itself is copied." - "``None``", "``designateLatitude(persistent=0)``", "Designate the axis to be a latitude axis. If persistent is true, the external file or dataset (if any) is modified. By default, the designation is temporary." - "``None``", "``designateLevel(persistent=0)``", "Designate the axis to be a vertical level axis. If persistent is true, the external file or dataset (if any) is modified. By default, the designation is temporary." - "``None``", "``designateLongitude(persistent=0, modulo=360.0)``", "Designate the axis to be a longitude axis. ``modulo`` is the modulus value. Any given axis value ``x`` is treated as equivalent to ``x + modulus``. If ``persistent`` is true, the external file or dataset (if any) is modified. By default, the designation is temporary." - "``None``", "``designateTime(persistent=0, calendar = cdtime.MixedCalendar)``", "Designate the axis to be a time axis. If ``persistent`` is true, the external file or dataset (if any) is modified. By default, the designation is temporary. ``calendar`` is defined as in ``getCalendar()``." - "``Array``", "``getBounds()``", "Get the associated boundary array. The shape of the return array depends on the type of axis:" - ,,"* ``Axis``: ``(n,2)``" - ,,"* ``Axis2D``: ``(i,j,4)``" - ,,"* ``AuxAxis1D``: ``(ncell, nvert)`` where nvert is the maximum number of vertices of a cell." - ,,"If the boundary array of a latitude or longitude ``Axis`` is not explicitly defined, and ``autoBounds`` mode is on, a default array is generated by calling ``genGenericBounds``. Otherwise if auto-Bounds mode is off, the return value is ``None``. See ``setAutoBounds``." - "``Integer``", "``getCalendar()``", "Returns the calendar associated with the ``(time)``\ axis. Possible return values, as defined in the ``cdtime`` module, are:" - ,,"* ``cdtime.GregorianCalendar``: the standard Gregorian calendar" - ,,"* ``cdtime.MixedCalendar``: mixed Julian/Gregorian calendar" - ,,"* ``cdtime.JulianCalendar``: years divisible by 4 are leap years" - ,,"* ``cdtime.NoLeapCalendar``: a year is 365 days" - ,,"* ``cdtime.Calendar360``: a year is 360 days" - ,,"* ``None``: no calendar can be identified" - ,," **Note** If the axis is not a time axis, the global, file-related calendar is returned." + "``Array``", "``array = axis[i:j]``", "Read a slice of data from the external file or dataset. + * Data is returned in the physical ordering defined in the dataset. + * See `Variable Slice Operators <#table-variable-slice-operators>`_ for a description of slice operators." + "``None``", "``axis[i:j] = array``", "Write a slice of data to the external file. + * Dataset axes are read-only." + "``None``", "``assignValue(array)``", "Set the entire value of the axis. + * ``array`` is a Numpy array, of the same dimensionality as the axis." + "``Axis``", "``clone(copyData=1)``", "Return a copy of the axis, as a transient axis. + * If copyData is 1 (the default) the data itself is copied." + "``None``", "``designateLatitude(persistent=0)``", "Designate the axis to be a latitude axis. + * If persistent is true, the external file or dataset (if any) is modified. + * By default, the designation is temporary." + "``None``", "``designateLevel(persistent=0)``", "Designate the axis to be a vertical level axis. + * If persistent is true, the external file or dataset (if any) is modified. + * By default, the designation is temporary." + "``None``", "``designateLongitude(persistent=0, modulo=360.0)``", "Designate the axis to be a longitude axis. + * ``modulo`` is the modulus value. + * Any given axis value ``x`` is treated as equivalent to ``x + modulus``. + * If ``persistent`` is true, the external file or dataset (if any) is modified. + * By default, the designation is temporary." + "``None``", "``designateTime(persistent=0, calendar = cdtime.MixedCalendar)``", "Designate the axis to be a time axis. + * If ``persistent`` is true, the external file or dataset (if any) is modified. + * By default, the designation is temporary. + * ``calendar`` is defined as in ``getCalendar()``." + "``Array``", "``getBounds()``", "Get the associated boundary array. + The shape of the return array depends on the type of axis: + * ``Axis``: ``(n,2)`` + * ``Axis2D``: ``(i,j,4)`` + * ``AuxAxis1D``: ``(ncell, nvert)`` where nvert is the maximum number of vertices of a cell. + If the boundary array of a latitude or longitude + * ``Axis`` is not explicitly defined, and ``autoBounds`` mode is on, a default array is generated by calling ``genGenericBounds``. + * Otherwise if auto-Bounds mode is off, the return value is ``None``. See ``setAutoBounds``." + "``Integer``", "``getCalendar()``", "Returns the calendar associated with the ``(time)``\ axis. + Possible return values, as defined in the ``cdtime`` module, are: + * ``cdtime.GregorianCalendar``: the standard Gregorian calendar + * ``cdtime.MixedCalendar``: mixed Julian/Gregorian calendar + * ``cdtime.JulianCalendar``: years divisible by 4 are leap years + * ``cdtime.NoLeapCalendar``: a year is 365 days + * ``cdtime.Calendar360``: a year is 360 days + * ``None``: no calendar can be identified + **Note** If the axis is not a time axis, the global, file-related calendar is returned." "``Array``", "``getValue()``", "Get the entire axis vector." "``Integer``", "``isLatitude()``", "Returns true iff the axis is a latitude axis." "``Integer``", "``isLevel()``", "Returns true iff the axis is a level axis." "``Integer``", "``isLongitude()``", "Returns true iff the axis is a longitude axis." "``Integer``", "``isTime()``", "Returns true iff the axis is a time axis." - "``Integer``", "``len(axis)``", "The length of the axis if one-dimensional. If multidimensional, the length of the first dimension." + "``Integer``", "``len(axis)``", "The length of the axis if one-dimensional. + * If multidimensional, the length of the first dimension." "``Integer``", "``size()``", "The number of elements in the axis." "``String``", "``typecode()``", "The ``Numpy`` datatype identifier." -Table Axis Methods, Additional to CoordinateAxis ------------------------------------------------- +Axis Methods, Additional to CoordinateAxis +------------------------------------------ .. csv-table:: :header: "Type", "Method", "Definition" @@ -390,37 +499,49 @@ Table Axis Methods, Additional to CoordinateAxis :align: left - "``List`` of component times", "``asComponentTime(calendar=None)``", "``Array`` version of ``cdtime tocomp``. Returns a ``List`` of component times." - "``List`` of relative times", "``asRelativeTime()``", "``Array`` version of ``cdtime torel``. Returns a ``List`` of relative times." - "``None``", "``designateCircular(modulo, persistent=0)``", "Designate the axis to be circular. ``modulo`` is the modulus value. Any given axis value ``x`` is treated as equivalent to ``x + modulus``. If ``persistent`` is ``True``, the external file or dataset (if any) is modified. By default, the designation is temporary." - "``Integer``", "``isCircular()``", "Returns ``True`` if the axis has circular topology. An axis is defined as circular if:" - ,," * ``axis.topology == 'circular'``, or" - ,," * ``axis.topology`` is undefined, and the axis is a longitude. The default cycle for circular axes is 360.0" + "``List`` of component times", "``asComponentTime(calendar=None)``", "``Array`` version of ``cdtime tocomp``. + * Returns a ``List`` of component times." + "``List`` of relative times", "``asRelativeTime()``", "``Array`` version of ``cdtime torel``. + * Returns a ``List`` of relative times." + "``None``", "``designateCircular(modulo, persistent=0)``", "Designate the axis to be circular. + * ``modulo`` is the modulus value. + * Any given axis value ``x`` is treated as equivalent to ``x + modulus``. + * If ``persistent`` is ``True``, the external file or dataset (if any) is modified. + * By default, the designation is temporary." + "``Integer``", "``isCircular()``", "Returns ``True`` if the axis has circular topology. + An axis is defined as circular if: + * ``axis.topology == 'circular'``, or + * ``axis.topology`` is undefined, and the axis is a longitude. + * The default cycle for circular axes is 360.0" "``Integer``", "``isLinear()``", "Returns ``True`` if the axis has a linear representation." "``Tuple``", "``mapInterval(interval)``", "Same as ``mapIntervalExt``, but returns only the tuple ``(i,j)``, and ``wraparound`` is restricted to one cycle." - "``(i,j,k)``", "``mapIntervalExt(interval)``", "Map a coordinate interval to an index ``interval``. ``interval`` is a tuple having one of the forms:" - ,,"* ``(x,y)``" - ,,"* ``(x,y,indicator)``" - ,,"* ``(x,y,indicator,cycle)``" - ,,"* ``None or ':'``" - ,,"* where ``x`` and ``y`` are coordinates indicating the interval ``[x,y]``, and:" - ,,"* ``indicator`` is a two or three-character string, where the first character is ``'c'`` if the interval is closed on the left, ``'o'`` if open, and the second character has the same meaning for the right-hand point. If present, the third character specifies how the interval should be intersected with the axis" - ,,"* ``'n'`` - select node values which are contained in the interval" - ,,"* ``'b'`` -select axis elements for which the corresponding cell boundary intersects the interval" - ,,"* ``'e'`` - same as n, but include an extra node on either side" - ,,"* ``'s'`` - select axis elements for which the cell boundary is a subset of the interval" - ,,"* The default indicator is ‘ccn’, that is, the interval is closed, and nodes in the interval are selected." - ,,"* If ``cycle`` is specified, the axis is treated as circular with the given cycle value. By default, if ``axis.isCircular()`` is true, the axis is treated as circular with a default modulus of ``360.0``." - ,,"* An interval of ``None`` or ``':'`` returns the full index interval of the axis." - ,,"* The method returns the corresponding index interval as a 3tuple ``(i,j,k)``, where ``k`` is the integer stride, and ``[i.j)`` is the half-open index interval ``i <= k < j`` ``(i >= k > j if k < 0)``, or ``none`` if the intersection is empty." - ,,"* for an axis which is circular (``axis.topology == 'circular'``), ``[i,j)`` is interpreted as follows, where ``n = len(axis)``" - ,,"* if ``0 <= i < n`` and ``0 <= j <= n``, the interval does not wrap around the axis endpoint." - ,,"* otherwise the interval wraps around the axis endpoint." - ,,"* see also: ``mapinterval``, ``variable.subregion()``" - "``transientaxis``", "``subaxis(i,j,k=1)``", "create an axis associated with the integer range ``[i:j:k]``. the stride ``k`` can be positive or negative. wraparound is supported for longitude dimensions or those with a modulus attribute." - -Table Axis Slice Operators --------------------------- + "``(i,j,k)``", "``mapIntervalExt(interval)``", "Map a coordinate interval to an index + ``interval``. ``interval`` is a tuple having one of the forms: + * ``(x,y)`` + * ``(x,y,indicator)`` + * ``(x,y,indicator,cycle)`` + * ``None or ':'`` + where ``x`` and ``y`` are coordinates indicating the interval ``[x,y]``, and: + * ``indicator`` is a two or three-character string, where the first character is ``'c'`` if the interval is closed on the left, ``'o'`` if open, and the second character has the same meaning for the right-hand point. If present, the third character specifies how the interval should be intersected with the axis + * ``'n'`` - select node values which are contained in the interval + * ``'b'`` -select axis elements for which the corresponding cell boundary intersects the interval + * ``'e'`` - same as n, but include an extra node on either side + * ``'s'`` - select axis elements for which the cell boundary is a subset of the interval + * The default indicator is ‘ccn’, that is, the interval is closed, and nodes in the interval are selected. + * If ``cycle`` is specified, the axis is treated as circular with the given cycle value. + * By default, if ``axis.isCircular()`` is true, the axis is treated as circular with a default modulus of ``360.0``. + * An interval of ``None`` or ``':'`` returns the full index interval of the axis. + * The method returns the corresponding index interval as a 3tuple ``(i,j,k)``, where ``k`` is the integer stride, and ``[i.j)`` is the half-open index interval ``i <= k < j`` ``(i >= k > j if k < 0)``, or ``none`` if the intersection is empty. + * for an axis which is circular (``axis.topology == 'circular'``), ``[i,j)`` is interpreted as follows, where ``n = len(axis)`` + * if ``0 <= i < n`` and ``0 <= j <= n``, the interval does not wrap around the axis endpoint. + * otherwise the interval wraps around the axis endpoint. + * see also: ``mapinterval``, ``variable.subregion()``" + "``transientaxis``", "``subaxis(i,j,k=1)``", "create an axis associated with the integer range ``[i:j:k]``. + * The stride ``k`` can be positive or negative. + * Wraparound is supported for longitude dimensions or those with a modulus attribute." + +Axis Slice Operators +-------------------- .. csv-table:: :header: "Slice", "Definition" @@ -432,25 +553,25 @@ Table Axis Slice Operators "``[:j]``", "the beginning element through, but not including, element ``j``" "``[:]``", "the entire array" "``[i:j:k]``", "every ``kth`` element, starting at ``i``, through but not including ``j``" - "``[-i]``", "the ``ith`` element from the end. ``-1`` is the last element." - , " **Example:** a longitude axis has value" - , " * ``[0.0, 2.0, ..., 358.0]``" - , " * of length ``180``" - , " * map the coordinate interval:" - , " * ``-5.0 <= x < 5.0`` to index interval(s), with wraparound. the result index interval" - , " * ``-2 <= n < 3`` wraps around, since" - , " * ``-2 < 0``, and has a stride of ``1``" - , " * this is equivalent to the two contiguous index intervals" - , " * ``2 <= n < 0`` and ``0 <= n < 3``" + "``[-i]``", "the ``ith`` element from the end. ``-1`` is the last element. + **Example:** a longitude axis has value + * ``[0.0, 2.0, ..., 358.0]`` + * of length ``180`` + Map the coordinate interval: + * ``-5.0 <= x < 5.0`` to index interval(s), with wraparound. the result index interval + * ``-2 <= n < 3`` wraps around, since + * ``-2 < 0``, and has a stride of ``1`` + * this is equivalent to the two contiguous index intervals + * ``2 <= n < 0`` and ``0 <= n < 3``" Example 1 ''''''''''' -.. doctest:: +:: >>> axis.isCircular() - 1 + >>> 1 >>> axis.mapIntervalExt((-5.0,5.0,'co')) - (-2,3,1) + >>> (-2,3,1) @@ -464,8 +585,8 @@ As of CDMS V3, the legacy cuDataset interface is also supported by Cdms-Files. See “cu Module”. -Table CdmsFile Internal Attributes ----------------------------------- +CdmsFile Internal Attributes +---------------------------- .. csv-table:: :header: "Type", "Name", "Definition" @@ -477,8 +598,8 @@ Table CdmsFile Internal Attributes "``String``", "``id``", "File pathname." "``Dictionary``", "``variables``", "Variables contained in the file." -Table CdmsFile Constructors ---------------------------- +CdmsFile Constructors +--------------------- .. csv-table:: :header: "Constructor", "Description" @@ -486,11 +607,13 @@ Table CdmsFile Constructors :align: left "Constructor", "Description" - "``fileobj = cdms.open(path, mode)``", "Open the file specified by path returning a CdmsFile object. ``path`` is the file pathname, a string. ``mode`` is the open mode indicator, as listed in See `Open Modes <#table-open-modes>`_." + "``fileobj = cdms.open(path, mode)``", "Open the file specified by path returning a CdmsFile object. + * ``path`` is the file pathname, a string. + * ``mode`` is the open mode indicator, as listed in `Open Modes <#table-open-modes>`_." "``fileobj = cdms.createDataset(path)``", "Create the file specified by path, a string." -Table CdmsFile Methods ----------------------- +CdmsFile Methods +---------------- .. csv-table:: :header: "Type", "Method", "Definition" @@ -498,45 +621,87 @@ Table CdmsFile Methods :align: left - "``Transient-Variable``", "``fileobj(varname, selector)``", "Calling a ``CdmsFile``" - ,, "object as a function reads the region of data specified by the ``selector``. The result is a transient variable, unless ``raw = 1`` is specified. See 'Selectors'." - ,, " **Example:** The following reads data for variable 'prc', year 1980:" - ,, " * >>> f = cdms.open('test.nc')" - ,, " * >>> x = f('prc', time=('1980-1','1981-1'))" - "``Variable``, ``Axis``, or ``Grid``", "``fileobj['id']``", "Get the persistent variable, axis or grid object having the string identifier. This does not read the data for a variable." - ,, " **Example:** The following gets the persistent variable" - ,, " * ``v``, equivalent to" - ,, " * ``v = f.variables['prc']``." - ,, " * f = cdms.open('sample.nc')" - ,, " * v = f['prc']" - ,, " **Example:** The following gets the axis named time, equivalent to" - ,, " * ``t = f.axes['time']``." - ,, " * ``t = f['time']``" + "``Transient-Variable``", "``fileobj(varname, selector)``", "Calling a ``CdmsFile`` object as a function reads the region of data specified by the ``selector``. + The result is a transient variable, unless ``raw = 1`` is specified. + See `Selectors <#selectors>`_. + **Example:** The following reads data for variable 'prc', year 1980: + >>> f = cdms.open('test.nc') + >>> x = f('prc', time=('1980-1','1981-1'))" + "``Variable``, ``Axis``, or ``Grid``", "``fileobj['id']``", "Get the persistent variable, axis or grid object having the string identifier. + This does not read the data for a variable. + **Example:** The following gets the persistent variable + >>> ``v``, equivalent to + >>> ``v = f.variables['prc']``. + >>> f = cdms.open('sample.nc') + >>> v = f['prc'] + **Example:** The following gets the axis named time, equivalent to + >>> ``t = f.axes['time']``. + >>> ``t = f['time']``" "``None``", "``close()``", "Close the file." - "``Axis``", "``copyAxis(axis, newname=None)``", "Copy ``axis`` values and attributes to a new axis in the file. The returned object is persistent: it can be used to write axis data to or read axis data from the file. If an axis already exists in the file, having the same name and coordinate values, it is returned. It is an error if an axis of the same name exists, but with different coordinate values. ``axis`` is the axis object to be copied. ``newname``, if specified, is the string identifier of the new axis object. If not specified, the identifier of the input axis is used." - "``Grid``", "``copyGrid(grid, newname=None)``", "Copy grid values and attributes to a new grid in the file. The returned grid is persistent. If a grid already exists in the file, having the same name and axes, it is returned. An error is raised if a grid of the same name exists, having different axes. ``grid`` is the grid object to be copied. ``newname``, if specified is the string identifier of the new grid object. If unspecified, the identifier of the input grid is used." - "``Axis``", "``createAxis(id,ar, unlimited=0)``", "Create a new ``Axis``. This is a persistent object which can be used to read or write axis data to the file. ``id`` is an alphanumeric string identifier, containing no blanks. ``ar`` is the one-dimensional axis array. Set ``unlimited`` to ``cdms.Unlimited`` to indicate that the axis is extensible." - "``RectGrid``", "``createRectGrid(id,lat, lon,order,type='generic', mask=None)``", "Create a ``RectGrid`` in the file. This is not a persistent object: the order, type, and mask are not written to the file. However, the grid may be used for regridding operations. ``lat`` is a latitude axis in the file. ``lon`` is a longitude axis in the file. ``order`` is a string with value ``'yx'`` (the latitude) or ``'xy'`` (the first grid dimension is longitude). ``type`` is one of ``'gaussian'``,\ ``'unif orm'``,\ ``'equalarea'`` , or ``'generic'``. If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid." - "``Variable``", "``createVariable(Stringid,String datatype,Listaxes,fill_value=None)``", "Create a new Variable. This is a persistent object which can be used to read or write variable data to the file. ``id`` is a String name which is unique with respect to all other objects in the file. ``datatype`` is an ``MV2`` typecode, e.g., ``MV2.Float``, ``MV2.Int``. ``axes`` is a list of Axis and/or Grid objects. ``fill_value`` is the missing value (optional)." - "``Variable``", "``createVariableCopy(var, newname=None)``", "Create a new ``Variable``, with the same name, axes, and attributes as the input variable. An error is raised if a variable of the same name exists in the file. ``var`` is the ``Variable`` to be copied. ``newname``, if specified is the name of the new variable. If unspecified, the returned variable has the same name as ``var``." - ,," **Note:** Unlike copyAxis, the actual data is not copied to the new variable." - "``CurveGrid`` or ``Generic-Grid``", "``readScripGrid(self,whichGrid='destination',check-Grid=1)``", "Read a curvilinear or generic grid from a SCRIP netCDF file. The file can be a SCRIP grid file or remapping file. If a mapping file, ``whichGrid`` chooses the grid to read, either ``'source'`` or ``'destination'``. If ``checkGrid`` is ``1`` (default), the grid cells are checked for convexity, and 'repaired' if necessary. Grid cells may appear to be nonconvex if they cross a ``0 / 2pi`` boundary. The repair consists of shifting the cell vertices to the same side modulo 360 degrees." + "``Axis``", "``copyAxis(axis, newname=None)``", "Copy ``axis`` values and attributes to a new axis in the file. + The returned object is persistent: it can be used to write axis data to or read axis data from the file. + * If an axis already exists in the file, having the same name and coordinate values, it is returned. + * It is an error if an axis of the same name exists, but with different coordinate values. + * ``axis`` is the axis object to be copied. + * ``newname``, if specified, is the string identifier of the new axis object. + * If not specified, the identifier of the input axis is used." + "``Grid``", "``copyGrid(grid, newname=None)``", "Copy grid values and attributes to a new grid in the file. + * The returned grid is persistent. + * If a grid already exists in the file, having the same name and axes, it is returned. + * An error is raised if a grid of the same name exists, having different axes. + * ``grid`` is the grid object to be copied. + * ``newname``, if specified is the string identifier of the new grid object. + * If unspecified, the identifier of the input grid is used." + "``Axis``", "``createAxis(id,ar, unlimited=0)``", "Create a new ``Axis``. + This is a persistent object which can be used to read or write axis data to the file. + * ``id`` is an alphanumeric string identifier, containing no blanks. + * ``ar`` is the one-dimensional axis array. + * Set ``unlimited`` to ``cdms.Unlimited`` to indicate that the axis is extensible." + "``RectGrid``", "``createRectGrid(id,lat, lon,order,type='generic', mask=None)``", "Create a ``RectGrid`` in the file. + This is not a persistent object: the order, type, and mask are not written to the file. However, the grid may be used for regridding operations. + * ``lat`` is a latitude axis in the file. + * ``lon`` is a longitude axis in the file. + * ``order`` is a string with value ``'yx'`` (the latitude) or ``'xy'`` (the first grid dimension is longitude). + * ``type`` is one of ``'gaussian'``,\ ``'unif orm'``,\ ``'equalarea'`` , or ``'generic'``. + * If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid." + "``Variable``", "``createVariable(Stringid,String datatype,Listaxes,fill_value=None)``", "Create a new Variable. + This is a persistent object which can be used to read or write variable data to the file. + * ``id`` is a String name which is unique with respect to all other objects in the file. + * ``datatype`` is an ``MV2`` typecode, e.g., ``MV2.Float``, ``MV2.Int``. + * ``axes`` is a list of Axis and/or Grid objects. + * ``fill_value`` is the missing value (optional)." + "``Variable``", "``createVariableCopy(var, newname=None)``", "Create a new ``Variable``, with the same name, axes, and attributes as the input variable. + An error is raised if a variable of the same name exists in the file. + * ``var`` is the ``Variable`` to be copied. + * ``newname``, if specified is the name of the new variable. + * If unspecified, the returned variable has the same name as ``var``. + **Note:** Unlike copyAxis, the actual data is not copied to the new variable." + "``CurveGrid`` or ``Generic-Grid``", "``readScripGrid(self,whichGrid='destination',check-Grid=1)``", "Read a curvilinear or generic grid from a SCRIP netCDF file. + The file can be a SCRIP grid file or remapping file. + * If a mapping file, ``whichGrid`` chooses the grid to read, either ``'source'`` or ``'destination'``. + * If ``checkGrid`` is ``1`` (default), the grid cells are checked for convexity, and 'repaired' if necessary. + * Grid cells may appear to be nonconvex if they cross a ``0 / 2pi`` boundary. + * The repair consists of shifting the cell vertices to the same side modulo 360 degrees." "``None``", "``sync()``", "Writes any pending changes to the file." - "``Variable``", "``write(var,attributes=None,axes=None, extbounds=None,id=None,extend=None, fill_value=None, index=None, typecode=None)``","Write a variable or array to the file. The return value is the associated file variable." - ,,"If the variable does not exist in the file, it is first defined and all attributes written, then the data is written. By default, the time dimension of the variable is defined as the unlimited dimension of the file. If the data is already defined, then data is extended or overwritten depending on the value of keywords ``extend`` and ``index``, and the unlimited dimension values associated with ``var``." - ,,"* ``var`` is a Variable, masked array, or Numpy array." - ,,"* ``attributes`` is the attribute dictionary for the variable. The default is ``var.attributes``." - ,,"* ``axes`` is the list of file axes comprising the domain of the variable. The default is to copy ``var.getAxisList()``." - ,,"* ``extbounds`` is the unlimited dimension bounds. Defaults to ``var.getAxis(0).getBounds()``." - ,,"* ``id`` is the variable name in the file. Default is ``var.id``." - ,,"* ``extend = 1`` causes the first dimension to be unlimited: iteratively writeable." - ,," * The default is ``None``, in which case the first dimension is extensible if it is ``time.Set`` to ``0`` to turn off this behaviour." - ,,"* ``fill_value`` is the missing value flag." - ,,"* ``index`` is the extended dimension index to write to. The default index is determined by lookup relative to the existing extended dimension." - ,," **Note:** data can also be written by setting a slice of a file variable, and attributes can be written by setting an attribute of a file variable." - -Table CDMS Datatypes --------------------- + "``Variable``", "``write(var,attributes=None,axes=None, extbounds=None,id=None,extend=None, fill_value=None, index=None, typecode=None)``","Write a variable or array to the file. + The return value is the associated file variable. + * If the variable does not exist in the file, it is first defined and all attributes written, then the data is written. + * By default, the time dimension of the variable is defined as the unlimited dimension of the file. + * If the data is already defined, then data is extended or overwritten depending on the value of keywords ``extend`` and ``index``, and the unlimited dimension values associated with ``var``. + * ``var`` is a Variable, masked array, or Numpy array. + * ``attributes`` is the attribute dictionary for the variable. The default is ``var.attributes``. + * ``axes`` is the list of file axes comprising the domain of the variable. + * The default is to copy ``var.getAxisList()``. + * ``extbounds`` is the unlimited dimension bounds. Defaults to ``var.getAxis(0).getBounds()``. + * ``id`` is the variable name in the file. Default is ``var.id``. + * ``extend = 1`` causes the first dimension to be unlimited: iteratively writeable. + * The default is ``None``, in which case the first dimension is extensible if it is ``time.Set`` to ``0`` to turn off this behaviour. + * ``fill_value`` is the missing value flag. + * ``index`` is the extended dimension index to write to. The default index is determined by lookup relative to the existing extended dimension. + **Note:** data can also be written by setting a slice of a file variable, and attributes can be written by setting an attribute of a file variable." + +CDMS Datatypes +-------------- .. csv-table:: :header: "CDMS Datatype", "Definition" @@ -585,7 +750,9 @@ Overview To access a database: -#. Open a connection. The connect method opens a database connection. Connect takes a database URI and returns a database object: +#. Open a connection. + The connect method opens a database connection. + Connect takes a database URI and returns a database object: ``db=cdms.connect("ldap://dbhost.llnl.gov/database=CDMS,ou=PCMDI,o=LLNL,c=US")`` #. Search the database, locating one or more datasets, variables, and/or @@ -627,8 +794,8 @@ To access a database: ``db.close()`` -Table Database Internal Attributes ----------------------------------- +Database Internal Attributes +---------------------------- .. csv-table:: @@ -642,8 +809,8 @@ Table Database Internal Attributes "``String``", "``uri``", "Uniform Resource Identifier" -Table Database Constructors ---------------------------- +Database Constructors +--------------------- .. csv-table:: :header: "Constructor", "Description" @@ -651,12 +818,19 @@ Table Database Constructors :align: left - "``db = cdms.connect(uri=None, user='', password='')``", "Connect to the database. ``uri`` is the Universal Resource Indentifier of the database. The form of the URI depends on the implementation of the database." - ,"For a Lightweight Directory Access Protocol (LDAP) database, the form is: ``ldap://host[:port]/dbname``." - ,"For example, if the database is located on host dbhost.llnl.gov, and is named ``'database=CDMS,ou=PCMDI,o=LLNL,c=US'``, the URI is: ``ldap://dbhost.llnl.gov/database=CDMS,ou=PCMDI,o=LLNL,c=US``. If unspecified, the URI defaults to the value of environment variable CDMSROOT. ``user`` is the user ID. If unspecified, an anonymous connection is made. ``password`` is the user password. A password is not required for an anonymous connection" + "``db = cdms.connect(uri=None, user='', password='')``", "Connect to the database. + * ``uri`` is the Universal Resource Indentifier of the database. + * The form of the URI depends on the implementation of the database. + * For a Lightweight Directory Access Protocol (LDAP) database, the form is: ``ldap://host[:port]/dbname``. + For example, if the database is located on host dbhost.llnl.gov, and is named ``'database=CDMS,ou=PCMDI,o=LLNL,c=US'``, the URI is: + * ``ldap://dbhost.llnl.gov/database=CDMS,ou=PCMDI,o=LLNL,c=US``. + * If unspecified, the URI defaults to the value of environment variable CDMSROOT. + * ``user`` is the user ID. If unspecified, an anonymous connection is made. + * ``password`` is the user password. + **Note:** A password is not required for an anonymous connection" -Table Database Methods ----------------------- +Database Methods +---------------- .. csv-table:: :header: "Type", "Method", "Definition" @@ -664,33 +838,34 @@ Table Database Methods "None", "``close()``", "Close a database" "List", "``listDatasets()``", "Return a list of the dataset IDs in this database. A dataset ID can be passed to the ``open`` command." - "Dataset", "``open(dsetid, mode='r')``", "Open a dataset." - , "* ``dsetid``","is the string dataset identifier" - , "* ``mode``","is the open mode, 'r' - read-only, 'r+' - read-write, 'w' - create." - , "* ``openDataset``", "is a synonym for ``open``." - "SearchResult","``searchFilter(filter=None, tag=None, relbase=None, scope=Subtree, attnames=None, timeout=None)``","Search a CDMS database." - ,, "``filter`` is the string search filter. Simple filters have the form 'tag = value'. Simple filters can be combined using logical operators '&', '\|', '!' in prefix notation." - ,, - ,," **Example:**" - ,," * The filter ``'(&(objec)(id=cli))'`` finds all variables named 'cli'." - ,," - A formal definition of search filters is provided in the following section." - ,," - ``tag`` restricts the search to objects with that tag ('dataset' | 'variable' | 'database' | 'axis' | 'grid')." - ,," - ``relbase`` is the relative name of the base object of the search. The search is restricted to the base object and all objects below it in the hierarchy." - ,, - ,," **Example:**" - ,," * To search only dataset 'ncep_reanalysis_mo', specify:" - ,," - ``relbase='dataset=ncep_reanalysis_mo'``" - ,," * To search only variable 'ua' in 'ncep_reanalysis_mo', use:" - ,," - ``relbase='variable=ua, dataset=ncep_reanalysis_mo'``" - ,, - ,,"If no base is specified, the entire database is searched. See the ``scope`` argument also." - ,,"``scope`` is the search scope (**Subtree** | **Onelevel** | **Base**)." - ,," * **Subtree** searches the base object and its descendants." - ,," * **Onelevel** searches the base object and its immediate descendants." - ,," * **Base**\ searches the base object alone." - ,," * The default is **Subtree**." - ,,"``attnames``: list of attribute names. Restricts the attributes returned. If ``None``, all attributes are returned. Attributes 'id' and 'objectclass' are always included in the list." - ,,"``timeout``: integer number of seconds before timeout. The default is no timeout." + "Dataset", "``open(dsetid, mode='r')``", "Open a dataset. + * ``dsetid``is the string dataset identifier + * ``mode`` is the open mode, 'r' - read-only, 'r+' - read-write, 'w' - create. + * ``openDataset`` is a synonym for ``open``." + "SearchResult","``searchFilter(filter=None, tag=None, relbase=None, scope=Subtree, attnames=None, timeout=None)``","Search a CDMS database. + * ``filter`` is the string search filter. + * Simple filters have the form 'tag = value'. + * Simple filters can be combined using logical operators '&', '\|', '!' in prefix notation. + **Example:** + * The filter ``'(&(objec)(id=cli))'`` finds all variables named 'cli'. + * A formal definition of search filters is provided in the following section. + * ``tag`` restricts the search to objects with that tag ('dataset' | 'variable' | 'database' | 'axis' | 'grid'). + * ``relbase`` is the relative name of the base object of the search. The search is restricted to the base object and all objects below it in the hierarchy. + **Example:** + To search only dataset 'ncep_reanalysis_mo', specify: + * ``relbase='dataset=ncep_reanalysis_mo'`` + o search only variable 'ua' in 'ncep_reanalysis_mo', use: + * ``relbase='variable=ua, dataset=ncep_reanalysis_mo'`` + If no base is specified, the entire database is searched. See the ``scope`` argument also. + * ``scope`` is the search scope (**Subtree** | **Onelevel** | **Base**). + * **Subtree** searches the base object and its descendants. + * **Onelevel** searches the base object and its immediate descendants. + * **Base** searches the base object alone. + * The default is **Subtree**. + * ``attnames``: list of attribute names. Restricts the attributes returned. + * If ``None``, all attributes are returned. + * Attributes 'id' and 'objectclass' are always included in the list. + * ``timeout``: integer number of seconds before timeout. The default is no timeout." ------------ @@ -701,51 +876,54 @@ Table Database Methods Searching a Database -------------------------- -The ``searchFilter`` method is used to search a database. The result is -called a search result, and consists of a sequence of result entries. +.. csv-table:: + :header: "Type", "Name", "Summary" + :widths: 20, 20, 80 -In its simplest form, ``searchFilter`` takes an argument consisting of a -string filter. The search returns a sequence of entries, corresponding -to those objects having an attribute which matches the filter. Simple -filters have the form (tag = value), where value can contain wildcards. -For example: + "``Dictionary``", "``attributes``", "Database attribute dictionary" + "``LDAP``", "``db``", "(LDAP only) LDAP database object" + "``String``", "``netloc``", "Hostname, for server-based databases" + "``String``", "``path``", "path name" + "``String``", "``uri``", "Uniform Resource Identifier" :: (id = ncep*) (project = AMIP2) -**Note** Simple filters can be combined with the logical operators '&', '|', '!'. For example, +**Note:** Simple filters can be combined with the logical operators '&', '|', '!'. For example, -:: + * ``mode``, is the open mode, 'r' - read-only, 'r+' - read-write, 'w' - create. - (&(id = bmrc*)(project = AMIP2)) +(&(id = bmrc*)(project = AMIP2)) -matches all objects with id starting with bmrc, and a project attribute -with value ‘AMIP2’. + * To search only dataset 'ncep_reanalysis_mo', specify: + * ``relbase='dataset=ncep_reanalysis_mo'`` + * To search only variable 'ua' in 'ncep_reanalysis_mo', use: + * ``relbase='variable=ua, dataset=ncep_reanalysis_mo'`` + If no base is specified, the entire database is searched. See the ``scope`` argument also. + + * ``scope`` is the search scope (**Subtree** | **Onelevel** | **Base**). + * **Subtree** searches the base object and its descendants. + * **Onelevel** searches the base object and its immediate descendants. + * **Base**\ searches the base object alone. + * The default is **Subtree**. + * ``attnames``: list of attribute names. Restricts the attributes returned. If ``None``, all attributes are returned. Attributes 'id' and 'objectclass' are always included in the list. + * ``timeout``: integer number of seconds before timeout. The default is no timeout." -Formally, search filters are strings defined as follows: :: - filter ::= "(" filtercomp ")" + >>> (&(id = bmrc*)(project = AMIP2)) - filtercomp ::= "&" filterlist | # and - "|" filterlist | # or - "!" filterlist | # not - simple - filterlist ::= filter | filter filterlist - simple ::= tag op value - op ::= "=" | # equality +Matches all objects with id starting with bmrc, and a project attribute +with value ‘AMIP2’. - "~=" | # approximate equality - "<=" | # lexicographically less than or equal to - ">=" # lexicographically greater than or equal to +Formally, search filters are strings defined as follows: - tag ::= string attribute name - value ::= string attribute value, may include '*' as a wild card +:: Attribute names are defined in the chapter on “Climate Data Markup @@ -776,9 +954,9 @@ several ways: :: - result = db.searchFilter('(&(category=obs*)(id=ncep*))') - for entry in result: - print entry.name + >>> result = db.searchFilter('(&(category=obs*)(id=ncep*))') + >>> for entry in result: + >>> print entry.name Search results can be narrowed using ``searchPredicate``. In the following example, the result of one search is itself searched for all @@ -790,25 +968,25 @@ variables defined on a 94x192 grid: >>> len(result) 65 >>> result2 = result.searchPredicate(lambda x: - + >>> x.getGrid().shape==(94,192)) >>> len(result2) 3 >>> for entry in result2: print entry.name variable=rluscs,dataset=ncep_reanalysis_mo,database=CDMS,ou=PCMDI, - + >>> o=LLNL, c=US variable=rlds,dataset=ncep_reanalysis_mo,database=CDMS,ou=PCMDI, - + >>> o=LLNL, c=US variable=rlus,dataset=ncep_reanalysis_mo,database=CDMS,ou=PCMDI, - + >>> o=LLNL, c=US -Table SearchResult Methods --------------------------- +SearchResult Methods +-------------------- .. csv-table:: :header: "Type", "Method", "Definition" @@ -816,8 +994,10 @@ Table SearchResult Methods "ResultEntry", "``[i]``", "Return the i-th search result. Results can also be returned in a for loop: ``for entry in db.searchResult(tag='dataset'):``" "Integer", "``len()``", "Number of entries in the result." - "SearchResult", "``searchPredicate(predicate, tag=None)``", "Refine a search result, with a predicate search. ``predicate`` is a function which takes a single CDMS object and returns true (1) if the object satisfies the predicate, 0 if not. ``tag`` restricts the search to objects of the class denoted by the tag." - ,,"**Note**: In the current implementation, ``searchPredicate`` is much less efficient than ``searchFilter``. For best performance, use ``searchFilter`` to narrow the scope of the search, then use ``searchPredicate`` for more general searches." + "SearchResult", "``searchPredicate(predicate, tag=None)``", "Refine a search result, with a predicate search. + * ``predicate`` is a function which takes a single CDMS object and returns true (1) if the object satisfies the predicate, 0 if not. + * ``tag`` restricts the search to objects of the class denoted by the tag. + **Note:**: In the current implementation, ``searchPredicate`` is much less efficient than ``searchFilter``. For best performance, use ``searchFilter`` to narrow the scope of the search, then use ``searchPredicate`` for more general searches." A search result is a sequence of result entries. Each entry has a string name, the name of the object in the database hierarchy, and an attribute @@ -828,8 +1008,8 @@ information defined for the associated CDMS object, which is retrieved with the ``getObject`` method. -Table ResultEntry Attributes ----------------------------- +ResultEntry Attributes +---------------------- .. csv-table:: :header: "Type", "Method", "Definition" @@ -839,16 +1019,17 @@ Table ResultEntry Attributes "Dictionary", "``attributes``", "The attributes returned from the search. ``attributes[key]`` is a list of all string values associated with the key" -Table ResultEntry Methods -------------------------- +ResultEntry Methods +------------------- .. csv-table:: :header: "Type", "Method", "Definition" :widths: 20, 30, 80 - "``CdmsObj``", "``getObject()``", "Return the CDMS object associated with this entry." - ,, "**Note:** For many search applications it is unnecessary to access the associated CDMS object. For best performance this function should be used only when necessary, for example, to retrieve data associated with a variable." - + "``CdmsObj``", "``getObject()``", "Return the CDMS object associated with this entry. + **Note:** For many search applications it is unnecessary to access the associated CDMS object. For best performance this function should be used only when necessary, for example, to retrieve data associated with a variable." + "``CdmsObj``", "``getObject()``", "Return the CDMS object associated with this entry. + **Note:** For many search applications it is unnecessary to access the associated CDMS object. For best performance this function should be used only when necessary, for example, to retrieve data associated with a variable." Accessing data -------------------- @@ -864,9 +1045,9 @@ In the next example, a portion of variable ‘ua’ is read from dataset :: - dset = db.open('ncep_reanalysis_mo') - ua = dset.variables['ua'] - data = ua[0,0] + >>> dset = db.open('ncep_reanalysis_mo') + >>> ua = dset.variables['ua'] + >>> data = ua[0,0] Examples of Database Searches @@ -876,7 +1057,7 @@ In the following examples, db is the database opened with: :: - db = cdms.connect() + >>> db = cdms.connect() This defaults to the database defined in environment variable ``CDMSROOT``. @@ -885,68 +1066,67 @@ This defaults to the database defined in environment variable :: - for entry in db.searchFilter(filter = "parentid=ncep_reanalysis_mo", tag = "variable"): - print entry.name + >>> for entry in db.searchFilter(filter = "parentid=ncep_reanalysis_mo", tag = "variable"): + >>> print entry.name **Example:** Find all axes with bounds defined: -:: - - for entry in db.searchFilter(filter="bounds=*",tag="axis"): - print entry.name **Example:** Locate all GDT datasets: :: - for entry in db.searchFilter(filter="Conventions=GDT*",tag="dataset"): - print entry.name + >>> for entry in db.searchFilter(filter="Conventions=GDT*",tag="dataset"): + >>> print entry.name **Example:** Find all variables with missing time values, in observed datasets: -:: + >>> for entry in db.searchFilter(filter = "(&(project=CMIP2)(id=hfss))", tag = "variable"): + >>> print entry.getObject().parent.id - def missingTime(obj): - time = obj.getTime() - return time.length != time.partition_length +**Example:** Find all observed variables on 73x144 grids: - result = db.searchFilter(filter="category=observed") - for entry in result.searchPredicate(missingTime): - print entry.name **Example:** Find all CMIP2 datasets having a variable with id “hfss”: :: - for entry in db.searchFilter(filter = "(&(project=CMIP2)(id=hfss))", tag = "variable"): - print entry.getObject().parent.id + >>> print len(db.searchFilter(tag="database")),"database" + >>> print len(db.searchFilter(tag="dataset")),"datasets" + >>> print len(db.searchFilter(tag="variable")),"variables" + >>> print len(db.searchFilter(tag="axis")),"axes" **Example:** Find all observed variables on 73x144 grids: :: - result = db.searchFilter(category='obs*') - for entry in result.searchPredicate(lambda x: x.getGrid().shape==(73,144),tag="variable"): - print entry.name + "Dictionary", "``attributes``", "Dataset external attributes." + "Dictionary", "``axes``", "Axes contained in the dataset." + "String", "``datapath``", "Path of data files, relative to the parent database. If no parent, the datapath is absolute." + "Dictionary", "``grids``", "Grids contained in the dataset." + "String", "``mode``", "Open mode." + "Database", "``parent``", "Database which contains this dataset. If the dataset is not part of a database, the value is ``None``." + "String", "``uri``", "Uniform Resource Identifier of this dataset." + "Dictionary", "``variables``", "Variables contained in the dataset." + "Dictionary", "``xlinks``", "External links contained in the dataset." **Example:** Find all observed variables with more than 1000 timepoints: :: - result = db.searchFilter(category='obs*') - for entry in result.searchPredicate(lambda x: len(x.getTime())>1000, tag = "variable"): - print entry.name, len(entry.getObject().getTime()) + "‘r’", "read-only" + "‘r+’", "read-write" + "‘a’", "read-write. Open the file if it exists, otherwise create a new file" + "‘w’", "Create a new file, read-write" **Example:** Find the total number of each type of object in the database: -:: + * f = cdms.open('test. xml') - print len(db.searchFilter(tag="database")),"database" - print len(db.searchFilter(tag="dataset")),"datasets" - print len(db.searchFilter(tag="variable")),"variables" - print len(db.searchFilter(tag="axis")),"axes" + * x = f('prc', time=('1980-1','1981-1'))" + "Variable, Axis, or Grid", "``datasetobj['id']``", "The square bracket operator applied to a dataset gets the persistent variable, axis or grid object having the string identifier. This does not read the data for a variable. Returns ``None`` if not found. Dataset @@ -958,8 +1138,8 @@ As of CDMS V3, the legacy cuDataset interface is supported by Datasets. See “cu Module". -Table Dataset Internal Attributes ---------------------------------- +Dataset Internal Attributes +--------------------------- .. csv-table:: :header: "Type", "Name", "Description" @@ -975,8 +1155,8 @@ Table Dataset Internal Attributes "Dictionary", "``variables``", "Variables contained in the dataset." "Dictionary", "``xlinks``", "External links contained in the dataset." -Table Dataset Constructors --------------------------- +Dataset Constructors +-------------------- .. csv-table:: :header: "Constructor", "Description" @@ -986,8 +1166,8 @@ Table Dataset Constructors "``datasetobj = cdms.open(String uri, String mode='r')``", "Open the dataset specified by the Universal Resource Indicator, a CDML file. Returns a Dataset object. mode is one of the indicators listed in `Open Modes <#table-open-modes>`__ . ``openDataset`` is a synonym for ``open``" -Table Open Modes ----------------- +Open Modes +---------- .. csv-table:: :header: "Mode", "Definition" @@ -1000,41 +1180,41 @@ Table Open Modes "‘w’", "Create a new file, read-write" -Table Dataset Methods ---------------------- +Dataset Methods +--------------- .. csv-table:: :header: "Type", "Definition", "Description" :widths: 30, 30, 80 - "Transient-Variable", "``datasetobj(varname, selector)``", "Calling a Dataset object as a function reads the region of data defined by the selector. The result is a transient variable, unless ``raw = 1`` is specified. See 'Selectors'." - ,, "**Example:** The following reads data for variable 'prc', year 1980:" - ,, " * f = cdms.open('test. xml')" - ,, " * x = f('prc', time=('1980-1','1981-1'))" - "Variable, Axis, or Grid", "``datasetobj['id']``", "The square bracket operator applied to a dataset gets the persistent variable, axis or grid object having the string identifier. This does not read the data for a variable. Returns ``None`` if not found." - ,, "**Example:**" - ,, " * f = cdms.open('sampl e.xml')" - ,, " * v = f['prc']" - ,, " * gets the persistent variable v, equivalent to ``v =f.variab les['prc']``." - ,, "**Example:**" - ,, "``t = f['time']`` gets the axis named 'time', equivalent to ``t = f.axes['time']``" + "Transient-Variable", "``datasetobj(varname, selector)``", "Calling a Dataset object as a function reads the region of data defined by the selector. The result is a transient variable, unless ``raw = 1`` is specified. See 'Selectors'. + **Example:** The following reads data for variable 'prc', year 1980: + * f = cdms.open('test. xml') + * x = f('prc', time=('1980-1','1981-1'))" + "Variable, Axis, or Grid", "``datasetobj['id']``", "The square bracket operator applied to a dataset gets the persistent variable, axis or grid object having the string identifier. This does not read the data for a variable. Returns ``None`` if not found. + **Example:** + * f = cdms.open('sampl e.xml') + * v = f['prc'] + * gets the persistent variable v, equivalent to ``v =f.variab les['prc']``. + **Example:** + ``t = f['time']`` gets the axis named 'time', equivalent to ``t = f.axes['time']``" "``None``", "``close()``", "Close the dataset." - "``RectGrid``", "``createRectGrid(id, lat, lon,order, type='generic', mask=None)``", "Create a RectGrid in the dataset. This is not a persistent object: the order, type, and mask are not written to the dataset. However, the grid may be used for regridding operations." - ,,"``lat`` is a latitude axis in the dataset." - ,,"``lon`` is a longitude axis in the dataset." - ,,"``order`` is a string with value 'yx' (the first grid dimension is latitude) or 'xy' (the first grid dimension is longitude)." - ,,"``type`` is one of 'gaussian','uniform','eq ualarea',or 'generic'" - ,,"If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid." - "Axis", "``getAxis(id)``", "Get an axis object from the file or dataset." - ,,"``id`` is the string axis identifier." - "Grid", "``getGrid(id)``", "Get a grid object from a file or dataset." - ,,"``id`` is the string grid identifier." + "``RectGrid``", "``createRectGrid(id, lat, lon,order, type='generic', mask=None)``", "Create a RectGrid in the dataset. This is not a persistent object: the order, type, and mask are not written to the dataset. However, the grid may be used for regridding operations. + * ``lat`` is a latitude axis in the dataset. + * ``lon`` is a longitude axis in the dataset. + * ``order`` is a string with value 'yx' (the first grid dimension is latitude) or 'xy' (the first grid dimension is longitude). + * ``type`` is one of 'gaussian','uniform','eq ualarea',or 'generic' + * If specified, ``mask`` is a two-dimensional, logical Numpy array (all values are zero or one) with the same shape as the grid." + "Axis", "``getAxis(id)``", "Get an axis object from the file or dataset. + * ``id`` is the string axis identifier." + "Grid", "``getGrid(id)``", "Get a grid object from a file or dataset. + * ``id`` is the string grid identifier." "List", "``getPaths()``", "Get a sorted list of pathnames of datafiles which comprise the dataset. This does not include the XML metafile path, which is stored in the .uri attribute." - "Variable", "``getVariable(id)``", "Get a variable object from a file or dataset." - ,,"``id`` is the string variable identifier." - "CurveGrid or GenericGrid", "``readScripGrid(self, whichGrid='destination', check-orGeneric-Grid=1)``", "Read a curvilinear orgeneric grid from a SCRIP dataset. The dataset can be a SCRIP grid file or remappingfile." - ,, "If a mapping file, ``whichGrid`` chooses the grid to read, either ``'source'`` or ``'destination'``." - ,, " If ``checkGrid`` is 1 (default), the grid cells are checked for convexity, and 'repaired' if necessary. Grid cells may appear to be nonconvex if they cross a ``0 / 2pi`` boundary. The repair consists of shifting the cell vertices to the same side modulo 360 degrees." + "Variable", "``getVariable(id)``", "Get a variable object from a file or dataset. + * ``id`` is the string variable identifier." + "CurveGrid or GenericGrid", "``readScripGrid(self, whichGrid='destination', check-orGeneric-Grid=1)``", "Read a curvilinear orgeneric grid from a SCRIP dataset. The dataset can be a SCRIP grid file or remappingfile. + * If a mapping file, ``whichGrid`` chooses the grid to read, either ``'source'`` or ``'destination'``. + * If ``checkGrid`` is 1 (default), the grid cells are checked for convexity, and 'repaired' if necessary. Grid cells may appear to be nonconvex if they cross a ``0 / 2pi`` boundary. The repair consists of shifting the cell vertices to the same side modulo 360 degrees." "None", "``sync()``", "Write any pending changes to the dataset." @@ -1059,13 +1239,13 @@ MV can be imported with the command: :: - import MV + >>> import MV The command :: - from MV import * + >>> from MV import * allows use of MV commands without any prefix. @@ -1081,7 +1261,7 @@ attribute, it can also be set like any attribute: :: - var.id = 'temperature' + >>> var.id = 'temperature' For completeness MV provides access to all the MV2 functions. The functions not listed in the following tables are identical to the @@ -1097,8 +1277,8 @@ http://numpy.sourceforge.net for a description of these functions. -Table Variable Constructors in Module MV ------------------------------------------ +Variable Constructors in Module MV +----------------------------------- .. tabularcolumns:: |l|r| @@ -1123,17 +1303,24 @@ The following table describes the MV non-constructor functions. with the exception of argsort, all functions return a transient variable. -Table MV Functions ------------------- +MV Functions +------------ .. csv-table:: :header: "Function", "Description" :widths: 50, 80 :align: left "``argsort(x, axis=-1, fill_value=None)``", "Return a Numpy array of indices for sorting along a given axis." - "``asarray(data, typecode=None)``", "Same as ``cdms.createVariable(data, typecode, copy=0)``. This is a short way of ensuring that something is an instance of a variable of a given type before proceeding, as in ``data = asarray(data)``. Also see the variable ``astype()`` function." - "``average(a, axis=0, weights=None)``", "Computes the average value of the non-masked elements of x along the selected axis. If weights is given, it must match the size and shape of x, and the value returned is: ``sum(a*weights)/sum(weights)`` In computing these sums, elements that correspond to those that are masked in x or weights are ignored." - "``choose(condition, t)``", "Has a result shaped like array condition. ``t`` must be a tuple of two arrays ``t1`` and ``t2``. Each element of the result is the corresponding element of ``t1``\ where ``condition`` is true, and the corresponding element of ``t2`` where ``condition`` is false. The result is masked where ``condition`` is masked or where the selected element is masked." + "``asarray(data, typecode=None)``", "Same as ``cdms.createVariable(data, typecode, copy=0)``. + * This is a short way of ensuring that something is an instance of a variable of a given type before proceeding, as in ``data = asarray(data)``. + * Also see the variable ``astype()`` function." + "``average(a, axis=0, weights=None)``", "Computes the average value of the non-masked elements of x along the selected axis. + * If weights is given, it must match the size and shape of x, and the value returned is: ``sum(a*weights)/sum(weights)`` + * In computing these sums, elements that correspond to those that are masked in x or weights are ignored." + "``choose(condition, t)``", "Has a result shaped like array condition. + * ``t`` must be a tuple of two arrays ``t1`` and ``t2``. + * Each element of the result is the corresponding element of ``t1``\ where ``condition`` is true, and the corresponding element of ``t2`` where ``condition`` is false. + * The result is masked where ``condition`` is masked or where the selected element is masked." "``concatenate(arrays, axis=0, axisid=None, axisattributes=None)``", "Concatenate the arrays along the given axis. Give the extended axis the id and attributes provided - by default, those of the first array." "``count(a, axis=None)``", "Count of the non-masked elements in ``a``, or along a certain axis." "``isMaskedVariable(x)``", "Return true if ``x`` is an instance of a variable." @@ -1144,14 +1331,18 @@ Table MV Functions "``masked_less_equal(x, value)``", "``x`` masked where ``x ≤ value``" "``masked_not_equal(x, value)``", "``x`` masked where ``x != value``" "``masked_outside(x, v1, v2)``", "``x`` with mask of all values of ``x`` that are outside ``[v1,v2]``" - "``masked_where(condition, x, copy=1)``", "Return ``x`` as a variable masked where condition is true. Also masked where ``x`` or ``condition`` masked. ``condition`` is a masked array having the same shape as ``x``." + "``masked_where(condition, x, copy=1)``", "Return ``x`` as a variable masked where condition is true. + * Also masked where ``x`` or ``condition`` masked. + * ``condition`` is a masked array having the same shape as ``x``." "``maximum(a, b=None)``", "Compute the maximum valid values of ``x`` if ``y`` is ``None``; with two arguments, return the element-wise larger of valid values, and mask the result where either ``x`` or ``y`` is masked." "``minimum(a, b=None)``", "Compute the minimum valid values of ``x`` if ``y`` is None; with two arguments, return the element-wise smaller of valid values, and mask the result where either ``x`` or ``y`` is masked." "``outerproduct(a, b)``", "Return a variable such that ``result[i, j] = a[i] * b[j]``. The result will be masked where ``a[i]`` or ``b[j]`` is masked." "``power(a, b)``", "``a**b``" "``product(a, axis=0, fill_value=1)``", "Product of elements along axis using ``fill_value`` for missing elements." "``repeat(ar, repeats, axis=0)``", "Return ``ar`` repeated ``repeats`` times along ``axis``. ``repeats`` is a sequence of length ``ar.shape[axis]`` telling how many times to repeat each element." - "``set_default_fill_value(value_type, value)``", "Set the default fill value for ``value_type`` to ``value``. ``value_type`` is a string: ‘real’,’complex’,’character’,’integer’,or ‘object’. ``value`` should be a scalar or single-element array." + "``set_default_fill_value(value_type, value)``", "Set the default fill value for ``value_type`` to ``value``. + * ``value_type`` is a string: ‘real’,’complex’,’character’,’integer’,or ‘object’. + * ``value`` should be a scalar or single-element array." "``sort(ar, axis=-1)``", "Sort array ``ar`` elementwise along the specified axis. The corresponding axis in the result has dummy values." "``sum(a, axis=0, fill_value=0)``", "Sum of elements along a certain axis using ``fill_value`` for missing." "``take(a, indices, axis=0)``", "Return a selection of items from ``a``. See the documentation in the Numpy manual." @@ -1174,8 +1365,8 @@ cells. Specifically, a HorizontalGrid: CDMS supports several types of HorizontalGrids: -Table Grids ------------ +Grids +----- .. csv-table:: :header: "Grid Type", "Definition" @@ -1186,8 +1377,8 @@ Table Grids "``GenericGrid``", "Latitude and longitude are 1-D auxiliary coordinate axis (AuxAxis1D)" -Table HorizontalGrid Internal Attribute ---------------------------------------- +HorizontalGrid Internal Attribute +--------------------------------- .. csv-table:: :header: "Type", "Name", "Definition" @@ -1201,8 +1392,8 @@ Table HorizontalGrid Internal Attribute -Table RectGrid Constructors ---------------------------- +RectGrid Constructors +--------------------- .. csv-table:: :header: "Constructor", "Description" @@ -1222,8 +1413,8 @@ Table RectGrid Constructors -Table HorizontalGrid Methods ----------------------------- +HorizontalGrid Methods +---------------------- .. csv-table:: @@ -1232,65 +1423,91 @@ Table HorizontalGrid Methods "Horizontal-Grid", "``clone()``", "Return a transient copy of the grid." "Axis", "``getAxis(Integer n)``", "Get the n-th axis.n is either 0 or 1." - "Tuple", "``getBounds()``", "Get the grid boundary arrays." - ,,"Returns a tuple ``(latitudeArray, longitudeArray)``, where latitudeArray is a Numpy array of latitude bounds, and similarly for longitudeArray.The shape of latitudeArray and longitudeArray depend on the type of grid:" - ,,"* for rectangular grids with shape (nlat, nlon), the boundary arrays have shape (nlat,2) and (nlon,2)." - ,,"* for curvilinear grids with shape (nx, ny), the boundary arrays each have shape (nx, ny, 4)." - ,,"* for generic grids with shape (ncell,), the boundary arrays each have shape (ncell, nvert) where nvert is the maximum number of vertices per cell." - ,,"For rectilinear grids: If no boundary arrays are explicitly defined (in the file or dataset), the result depends on the auto- Bounds mode (see ``cdms.setAutoBounds``) and the grid classification mode (see ``cdms.setClassifyGrids``)." - ,,"By default, autoBounds mode is enabled, in which case the boundary arrays are generated based on the type of grid. If disabled, the return value is (None,None).For rectilinear grids: The grid classification mode specifies how the grid type is to be determined. By default, the grid type (Gaussian, uniform, etc.) is determined by calling grid.classifyInFamily. If the mode is 'off' grid.getType is used instead." + "Tuple", "``getBounds()``", "Get the grid boundary arrays. + Returns a tuple ``(latitudeArray, longitudeArray)``, where latitudeArray is a Numpy array of latitude bounds, and similarly for longitudeArray.The shape of latitudeArray and longitudeArray depend on the type of grid: + * for rectangular grids with shape (nlat, nlon), the boundary arrays have shape (nlat,2) and (nlon,2). + * for curvilinear grids with shape (nx, ny), the boundary arrays each have shape (nx, ny, 4). + * for generic grids with shape (ncell,), the boundary arrays each have shape (ncell, nvert) where nvert is the maximum number of vertices per cell. + * for rectilinear grids: If no boundary arrays are explicitly defined (in the file or dataset), the result depends on the auto- Bounds mode (see ``cdms.setAutoBounds``) and the grid classification mode (see ``cdms.setClassifyGrids``). + By default, autoBounds mode is enabled, in which case the boundary arrays are generated based on the type of grid. + * If disabled, the return value is (None,None).For rectilinear grids: + * The grid classification mode specifies how the grid type is to be determined. + * By default, the grid type (Gaussian, uniform, etc.) is determined by calling grid.classifyInFamily. + * If the mode is 'off' grid.getType is used instead." "Axis", "``getLatitude()``", "Get the latitude axis of this grid." - "Axis", "``getLongitude()``", " Get the latitude axis of this grid." - "Axis", "``getMask()``", "Get the mask array of this grid, if any.Returns a 2-D Numpy array, having the same shape as the grid. If the mask is not explicitly defined, the return value is ``None``." - "Axis", "``getMesh(self, transpose=None)``", "Generate a mesh array for the meshfill graphics method.If transpose is defined to a tuple, say (1,0), first transpose latbounds and lonbounds according to the tuple, in this case (1,0,2)." - "None", "``setBounds(latBounds, lonBounds, persistent=0)``", "Set the grid boundaries. ``latBounds`` is a NumPy array of shape (n,2), such that the boundaries of the kth axis value are ``[latBounds[k,0],latBou nds[k,1] ]``. ``lonBounds`` is defined similarly for the longitude array." - ,,"**Note:** By default, the boundaries are not written to the file or dataset containing the grid (if any). This allows bounds to be set on read-only files, for regridding. If the optional argument ``persistent`` is set to the boundary array is written to the file." - "None", "``setMask(mask, persistent=0)``", "Set the grid mask. If ``persistent == 1``, the mask values are written to the associated file, if any. Otherwise, the mask is associated with the grid, but no I/O is generated. ``mask`` is a two-dimensional, Boolean-valued Numpy array, having the same shape as the grid." - "Horizontal-Grid", "``subGridRegion(latInterval, lonInterval)``", "Create a new grid corresponding to the coordinate region defined by ``latInterval, lonInterv al.``" - ,,"``latInterval`` and ``lonInterval`` are the coordinate intervals for latitude and longitude, respectively." - ,,"Each interval is a tuple having one of the forms:" - ,,"* ``(x,y)``" - ,,"* ``(x,y,indicator)``" - ,,"* ``(x,y,indicator,cycle)``" - ,,"* ``None``" - ,,"where ``x`` and ``y`` are coordinates indicating the interval ``[x,y)``, and:" - ,,"``indicator`` is a two-character string, where the first character is 'c' if the interval is closed on the left, 'o' if open, and the second character has the same meaning for the right-hand point. (Default: 'co')." - ,,"If ``cycle`` is specified, the axis is treated as circular with the given cycle value. By default, if ``grid.isCircular()`` is true, the axis is treated as circular with a default value of 360.0." - ,,"An interval of ``None`` returns the full index interval of the axis." - ,,"If a mask is defined, the subgrid also has a mask corresponding to the index ranges.Note: The result grid is not associated with any file or dataset." - "Transient-CurveGrid", "``toCurveGrid(gridid=None)``", "Convert to a curvilinear grid. If the grid is already curvilinear, a copy of the grid object is returned. ``gridid`` is the string identifier of the resulting curvilinear grid object. If unspecified, the grid ID is copied." - ,,"**Note:** This method does not apply to generic grids. Transient-GenericGrid ``toGenericGrid(gridid=None)`` Convert to a generic grid. If the grid is already generic, a copy of the grid is returned. ``gridid`` is the string identifier of the resulting curvilinear grid object. If unspecified, the grid ID is copied." - - -Table RectGrid Methods, Additional to HorizontalGrid Methods ------------------------------------------------------------- + "Axis", "``getLongitude()``", "Get the latitude axis of this grid." + "Axis", "``getMask()``", "Get the mask array of this grid, if any. + * Returns a 2-D Numpy array, having the same shape as the grid. + * If the mask is not explicitly defined, the return value is ``None``." + "Axis", "``getMesh(self, transpose=None)``", "Generate a mesh array for the meshfill graphics method. + * If transpose is defined to a tuple, say (1,0), first transpose latbounds and lonbounds according to the tuple, in this case (1,0,2)." + "None", "``setBounds(latBounds, lonBounds, persistent=0)``", "Set the grid boundaries. + * ``latBounds`` is a NumPy array of shape (n,2), such that the boundaries of the kth axis value are ``[latBounds[k,0],latBou nds[k,1] ]``. + * ``lonBounds`` is defined similarly for the longitude array. + **Note:** By default, the boundaries are not written to the file or dataset containing the grid (if any). This allows bounds to be set on read-only files, for regridding. If the optional argument ``persistent`` is set to the boundary array is written to the file." + "None", "``setMask(mask, persistent=0)``", "Set the grid mask. + * If ``persistent == 1``, the mask values are written to the associated file, if any. + * Otherwise, the mask is associated with the grid, but no I/O is generated. + * ``mask`` is a two-dimensional, Boolean-valued Numpy array, having the same shape as the grid." + "Horizontal-Grid", "``subGridRegion(latInterval, lonInterval)``", "Create a new grid corresponding to the coordinate region defined by ``latInterval, lonInterv al.`` + * ``latInterval`` and ``lonInterval`` are the coordinate intervals for latitude and longitude, respectively. + * Each interval is a tuple having one of the forms: + * ``(x,y)`` + * ``(x,y,indicator)`` + * ``(x,y,indicator,cycle)`` + * ``None`` + Where ``x`` and ``y`` are coordinates indicating the interval ``[x,y)``, and: + * ``indicator`` is a two-character string, where the first character is 'c' if the interval is closed on the left, 'o' if open, and the second character has the same meaning for the right-hand point. (Default: 'co'). + * If ``cycle`` is specified, the axis is treated as circular with the given cycle value. + * By default, if ``grid.isCircular()`` is true, the axis is treated as circular with a default value of 360.0. + * An interval of ``None`` returns the full index interval of the axis. + * If a mask is defined, the subgrid also has a mask corresponding to the index ranges. + **Note:** The result grid is not associated with any file or dataset." + "Transient-CurveGrid", "``toCurveGrid(gridid=None)``", "Convert to a curvilinear grid. + * If the grid is already curvilinear, a copy of the grid object is returned. + * ``gridid`` is the string identifier of the resulting curvilinear grid object. + * If unspecified, the grid ID is copied. + **Note:** This method does not apply to generic grids. + * Transient-GenericGrid ``toGenericGrid(gridid=None)`` Convert to a generic grid. + * If the grid is already generic, a copy of the grid is returned. + * ``gridid`` is the string identifier of the resulting curvilinear grid object. + * If unspecified, the grid ID is copied." + + +RectGrid Methods, Additional to HorizontalGrid Methods +------------------------------------------------------ .. csv-table:: :header: "Type", "Method", "Description" :widths: 30, 30, 80 - "String", "``getOrder()``", "Get the grid ordering, either 'yx' if latitude is the first axis, or 'xy' if longitude is the first axis. String ``getType()`` Get the grid type, either 'gaussian', 'uniform', 'equalarea', or 'generic'. (Array,Array) ``getWeights()`` Get the normalized area weight arrays, as a tuple ``(latWeights, lonWeights)``. It is assumed that the latitude and longitude axes are defined in degrees." - ,,"The latitude weights are defined as:" - ,,"``latWeights[i] = 0.5 * abs(sin(latBounds[i+1]) - sin(latBounds[i]))``" - ,," The longitude weights are defined as:" - ,,"``lonWeights[i] = abs(lonBounds[i+1] - lonBounds [i])/360.0``" - ,,"For a global grid, the weight arrays are normalized such that the sum of the weights is 1.0" - ,,"**Example:**" - ,,"Generate the 2-D weights array, such that ``weights[i.j]`` is the fractional area of grid zone ``[i,j]``." - ,,"* from cdms import MV" - ,,"* latwts, lonwts = gri d.getWeights()" - ,,"* weights = MV.outerproduct(latwts, lonwts)" - ,,"Also see the function ``area_weights`` in module ``pcmdi.weighting``." - ,," " - "None", "``setType(gridtype)``", "Set the grid type. ``gridtype`` is one of 'gaussian', 'uniform', 'equalarea', or 'generic'." - "RectGrid", "``subGrid((latStart,latStop),(lonStart,lonStop))``", "Create a new grid, with latitude index range `` [latStart : latStop] and longitude index range [lonStart : lonStop]. Either index range can also be specified as None, indicating that the entire range of the latitude or longitude is used." - ,,"**Example:**" - ,,"This creates newgrid corresponding to all latitudes and index range [lonStart:lonStop] of oldgrid." - ,,"``newgrid = oldgrid.subGrid(None, (lonStart, lon Stop))``" - ,,"If a mask is defined, the subgrid also has a mask corresponding to the index ranges." - ,,"**Note:** The result grid is not associated with any file or dataset." - "RectGrid", "``transpose()``", "Create a new grid, with axis order reversed. The grid mask is also transposed." - ,,"**Note:** The result grid is not associated with any file or dataset." + "String", "``getOrder()``", "Get the grid ordering, either 'yx' if latitude is the first axis, or 'xy' if longitude is the first axis. + String ``getType()`` + * Get the grid type, either 'gaussian', 'uniform', 'equalarea', or 'generic'. + * (Array,Array) ``getWeights()`` + * Get the normalized area weight arrays, as a tuple ``(latWeights, lonWeights)``. + * It is assumed that the latitude and longitude axes are defined in degrees. + The latitude weights are defined as: + * ``latWeights[i] = 0.5 * abs(sin(latBounds[i+1]) - sin(latBounds[i]))`` + The longitude weights are defined as: + * ``lonWeights[i] = abs(lonBounds[i+1] - lonBounds [i])/360.0`` + For a global grid, the weight arrays are normalized such that the sum of the weights is 1.0 + **Example:** + * Generate the 2-D weights array, such that ``weights[i.j]`` is the fractional area of grid zone ``[i,j]``. + * from cdms import MV + * latwts, lonwts = gri d.getWeights() + * weights = MV.outerproduct(latwts, lonwts) + * Also see the function ``area_weights`` in module ``pcmdi.weighting``." + "None", "``setType(gridtype)``", "Set the grid type. + * ``gridtype`` is one of 'gaussian', 'uniform', 'equalarea', or 'generic'." + "RectGrid", "``subGrid((latStart,latStop),(lonStart,lonStop))``", "Create a new grid, with latitude index range `` [latStart : latStop] and longitude index range [lonStart : lonStop]. Either index range can also be specified as None, indicating that the entire range of the latitude or longitude is used. + **Example:** + * This creates newgrid corresponding to all latitudes and index range [lonStart:lonStop] of oldgrid. + * ``newgrid = oldgrid.subGrid(None, (lonStart, lon Stop))`` + * If a mask is defined, the subgrid also has a mask corresponding to the index ranges. + **Note:** The result grid is not associated with any file or dataset." + "RectGrid", "``transpose()``", "Create a new grid, with axis order reversed. The grid mask is also transposed. + **Note:** The result grid is not associated with any file or dataset." Variable @@ -1321,8 +1538,8 @@ advantage of the attribute, domain, and mask information in a transient variable. -Table Variable Internal Attributes ----------------------------------- +Variable Internal Attributes +---------------------------- .. csv-table:: :header: "Type", "Name", "Definition" @@ -1335,8 +1552,8 @@ Table Variable Internal Attributes "Tuple", "``shape``", "The length of each axis of the variable" -Table Variable Constructors ---------------------------- +Variable Constructors +--------------------- .. csv-table:: :header: "Constructor", "Description" @@ -1345,14 +1562,27 @@ Table Variable Constructors "``Dataset.createVariable(String id, String datatype, List axes)``", "Create a Variable in a Dataset. This function is not yet implemented." - "``CdmsFile.createVariable(String id, String datatype, List axes or Grids)``", "Create a Variable in a CdmsFile." - ,"``id`` is the name of the variable. ``datatype`` is the MV2 or Numpy | typecode, for example, MV2.Float. ``axesOrGrids`` is a list of Axis and/or Grid objects, on which the variable is defined. Specifying a rectilinear grid is equivalent to listing the grid latitude and longitude axes, in the order defined for the grid. \*\*Note:\*\* this argument can either be a list or a tuple. If the tuple form is used, and there is only one element, it must have a following comma, e.g.: ``(axisobj,)``." - "``cdms.createVariable(array, typecode=None, copy=0, savespace=0,mask=None, fill_value=None, grid=None, axes=None,attributes=None, id=None)``", "Create a transient variable, not associated with a file or dataset. ``array`` is the data values: a Variable, masked array, or Numpy array. ``typecode`` is the MV2 typecode of the array. Defaults to the typecode of array. ``copy`` is an integer flag: if 1, the variable is created with a copy of the array, if 0 the variable data is shared with array. ``savespace`` is an integer flag: if set to 1, internal Numpy operations will attempt to avoid silent upcasting. ``mask`` is an array of integers with value 0 or 1, having the same shape as array. array elements with a corresponding mask value of 1 are considered invalid, and are not used for subsequent Numpy operations. The default mask is obtained from array if present, otherwise is None. ``fill_value`` is the missing value flag. The default is obtained from array if possible, otherwise is set to 1.0e20 for floating point variables, 0 for integer-valued variables. ``grid`` is a rectilinear grid object. ``axes`` is a tuple of axis objects. By default the axes are obtained from array if present. Otherwise for a dimension of length n, the default axis has values [0., 1., ..., double(n)]. ``attributes`` is a dictionary of attribute values. The dictionary keys must be strings. By default the dictionary is obtained from array if present, otherwise is empty. ``id`` is the string identifier of the variable. By default the id is obtained from array if possible, otherwise is set to 'variable\_n' for some integer." - - - -Table Variable Methods ----------------------- + "``CdmsFile.createVariable(String id, String datatype, List axes or Grids)``", "Create a Variable in a CdmsFile. + * ``id`` is the name of the variable. + * ``datatype`` is the MV2 or Numpy | typecode, for example, MV2.Float. + * ``axesOrGrids`` is a list of Axis and/or Grid objects, on which the variable is defined. Specifying a rectilinear grid is equivalent to listing the grid latitude and longitude axes, in the order defined for the grid. + **Note:** this argument can either be a list or a tuple. If the tuple form is used, and there is only one element, it must have a following comma, e.g.: ``(axisobj,)``." + "``cdms.createVariable(array, typecode=None, copy=0, savespace=0,mask=None, fill_value=None, grid=None, axes=None,attributes=None, id=None)``", "Create a transient variable, not associated with a file or dataset. + * ``array`` is the data values: a Variable, masked array, or Numpy array. + * ``typecode`` is the MV2 typecode of the array. Defaults to the typecode of array. + * ``copy`` is an integer flag: if 1, the variable is created with a copy of the array, if 0 the variable data is shared with array. + * ``savespace`` is an integer flag: if set to 1, internal Numpy operations will attempt to avoid silent upcasting. + * ``mask`` is an array of integers with value 0 or 1, having the same shape as array. array elements with a corresponding mask value of 1 are considered invalid, and are not used for subsequent Numpy operations. The default mask is obtained from array if present, otherwise is None. + * ``fill_value`` is the missing value flag. The default is obtained from array if possible, otherwise is set to 1.0e20 for floating point variables, 0 for integer-valued variables. + * ``grid`` is a rectilinear grid object. + * ``axes`` is a tuple of axis objects. By default the axes are obtained from array if present. Otherwise for a dimension of length n, the default axis has values [0., 1., ..., double(n)]. + * ``attributes`` is a dictionary of attribute values. The dictionary keys must be strings. By default the dictionary is obtained from array if present, otherwise is empty. + * ``id`` is the string identifier of the variable. By default the id is obtained from array if possible, otherwise is set to 'variable\_n' for some integer." + + + +Variable Methods +---------------- .. csv-table:: :header: "Type", "Method", "Definition" @@ -1360,92 +1590,128 @@ Table Variable Methods :align: left - "Variable", "``tvar = var[ i:j, m:n]``", "Read a slice of data from the file or dataset, resulting in a transient variable. Singleton dimensions are 'squeezed' out. Data is returned in the physical ordering defined in the dataset. The forms of the slice operator are listed in `Variable Slice Operators <#table-variable-slice-operators>`_ " - "None", "``var[ i:j, m:n] = array``", "Write a slice of data to the external dataset. The forms of the slice operator are listed in `Result Entry Methods <#table-resultentry-methods>`_ . (Variables in CdmsFiles only)" - "Variable", "``tvar = var(selector)``", "Calling a variable as a function reads the region of data defined by the selector. The result is a transient variable, unless raw=1 keyword is specified. See 'Selectors'." + "Variable", "``tvar = var[ i:j, m:n]``", "Read a slice of data from the file or dataset, resulting in a transient variable. + * Singleton dimensions are 'squeezed' out. + * Data is returned in the physical ordering defined in the dataset. + * The forms of the slice operator are listed in `Variable Slice Operators <#table-variable-slice-operators>`_ " + "None", "``var[ i:j, m:n] = array``", "Write a slice of data to the external dataset. + * The forms of the slice operator are listed in `Result Entry Methods <#table-resultentry-methods>`_ . (Variables in CdmsFiles only)" + "Variable", "``tvar = var(selector)``", "Calling a variable as a function reads the region of data defined by the selector. + * The result is a transient variable, unless raw=1 keyword is specified. + * See `Selectors' <#selectors>`_ ." "None", "``assignValue(Array ar)``", "Write the entire data array. Equivalent to ``var[:] = ar``. (Variables in CdmsFiles only)." - "Variable", "``astype(typecode)``", "Cast the variable to a new datatype. Typecodes are as for MV, MV2, and Numpy modules." - "Variable", "``clone(copyData=1)``", "Return a copy of a transient variable." - ,,"If copyData is 1 (the default) the variable data is copied as well. If copyData is 0, the result transient variable shares the original transient variables data array." - "Transient Variable", "``crossSectionRegrid(newLevel, newLatitude, method='log', missing=None, order=None)``", "Return a lat/level vertical cross-section regridded to a new set of latitudes newLatitude and levels newLevel. The variable should be a function of latitude, level, and (optionally) time." - ,,"* ``newLevel`` is an axis of the result pressure levels." - ,,"* ``newLatitude`` is an axis of the result latitudes." - ,,"* ``method`` is optional, either 'log' to interpolate in the log of pressure (default), or 'linear' for linear interpolation." - ,,"* ``missing`` is a missing data value. The default is ``var.getMissing()``" - ,,"* ``order`` is an order string such as 'tzy' or 'zy'. The default is ``var.getOrder()``." - ,,"*See also:* ``regrid``, ``pressureRegrid``." - "Axis", "``getAxis(n)``", "Get the n-th axis." - ,,"``n`` is an integer." + "Variable", "``astype(typecode)``", "Cast the variable to a new datatype. + * Typecodes are as for MV, MV2, and Numpy modules." + "Variable", "``clone(copyData=1)``", "Return a copy of a transient variable. + * If copyData is 1 (the default) the variable data is copied as well. + * If copyData is 0, the result transient variable shares the original transient variables data array." + "Transient Variable", "``crossSectionRegrid(newLevel, newLatitude, method='log', missing=None, order=None)``", "Return a lat/level vertical cross-section regridded to a new set of latitudes newLatitude and levels newLevel. + * The variable should be a function of latitude, level, and (optionally) time. + * ``newLevel`` is an axis of the result pressure levels. + * ``newLatitude`` is an axis of the result latitudes. + * ``method`` is optional, either 'log' to interpolate in the log of pressure (default), or 'linear' for linear interpolation. + * ``missing`` is a missing data value. The default is ``var.getMissing()`` + * ``order`` is an order string such as 'tzy' or 'zy'. The default is ``var.getOrder()``. + * See also: ``regrid``, ``pressureRegrid``." + "Axis", "``getAxis(n)``", "Get the n-th axis. + * ``n`` is an integer." "List", "``getAxisIds()``", "Get a list of axis identifiers." - "Integer", "``getAxisIndex(axis_spec)``", "Return the index of the axis specificed by axis\_spec. Return -1 if no match." - ,,"``axis_spec`` is a specification as defined for getAxisList" - "List", "``getAxisList(axes=None, omit=None, order=None)``", "Get an ordered list of axis objects in the domain of the variable." - ,,"If ``axes`` is not ``None``, include only certain axes. Otherwise axes is a list of specifications as described below. Axes are returned in the order specified unless the order keyword is given." - ,,"If ``omit`` is not ``None``, omit those specified by an integer dimension number. Otherwise omit is a list of specifications as described below." - ,,"``order`` is an optional string determining the output order." - ,,"Specifications for the axes or omit keywords are a list, each element having one of the following forms:" - ,,"* an integer dimension index, starting at 0." - ,,"* a string representing an axis id or one of the strings 'time', 'latitude', 'lat', 'longitude', 'lon', 'lev' or 'level'." - ,,"* a function that takes an axis as an argument and returns a value. If the value returned is true, the axis matches." - ,,"* an axis object; will match if it is the same object as axis." - ,,"``order`` can be a string containing the characters t,x,y,z, or * ." - ,,"If a dash ('-') is given, any elements of the result not chosen otherwise are filled in from left to right with remaining candidates." + "Integer", "``getAxisIndex(axis_spec)``", "Return the index of the axis specificed by axis\_spec. Return -1 if no match. + * ``axis_spec`` is a specification as defined for getAxisList" + "List", "``getAxisList(axes=None, omit=None, order=None)``", "Get an ordered list of axis objects in the domain of the variable. + * If ``axes`` is not ``None``, include only certain axes. Otherwise axes is a list of specifications as described below. Axes are returned in the order specified unless the order keyword is given. + * If ``omit`` is not ``None``, omit those specified by an integer dimension number. Otherwise omit is a list of specifications as described below. + * ``order`` is an optional string determining the output order. + Specifications for the axes or omit keywords are a list, each element having one of the following forms: + * an integer dimension index, starting at 0. + * a string representing an axis id or one of the strings 'time', 'latitude', 'lat', 'longitude', 'lon', 'lev' or 'level'. + * a function that takes an axis as an argument and returns a value. If the value returned is true, the axis matches. + * an axis object; will match if it is the same object as axis. + * ``order`` can be a string containing the characters t,x,y,z, or * . + * If a dash ('-') is given, any elements of the result not chosen otherwise are filled in from left to right with remaining candidates." "List", "``getAxisListIndex(axes=None, omit=None, order=None)``", "Return a list of indices of axis objects. Arguments are as for getAxisList." - "List", "``getDomain()``", "Get the domain. Each element of the list is itself a tuple of the form ``(axis,start,length,tru e_length)`` where axis is an axis object, start is the start index of the domain relative to the axis object, length is the length of the axis, and true\_length is the actual number of (defined) points in the domain. *See also:* ``getAxisList``." + "List", "``getDomain()``", "Get the domain. + Each element of the list is itself a tuple of the form ``(axis,start,length,tru e_length)`` + * where axis is an axis object, + * start is the start index of the domain relative to the axis object, + * length is the length of the axis, and true\_length is the actual number of (defined) points in the domain. + * See also: ``getAxisList``." "Horizontal-Grid", "``getGrid()``", "Return the associated grid, or ``None`` if the variable is not gridded." "Axis", "``getLatitude()``", "Get the latitude axis, or ``None`` if not found." "Axis", "``getLevel()``", "Get the vertical level axis, or ``None`` if not found." "Axis", "``getLongitude()``", "Get the longitude axis, or ``None`` if not found." - "Various", "``getMissing()``", "Get the missing data value, or ``None`` if not found." - ,, "String ``getOrder()`` Get the order string of a spatio-temporal variable. The order string specifies the physical ordering of the data. It is a string of characters with length equal to the rank of the variable, indicating the order of the variable's time, level, latitude, and/or longitude axes. Each character is one of:" - ,, "* 't': time" - ,, "* 'z': vertical level" - ,, "* 'y': latitude" - ,, "* 'x': longitude" - ,, "* '-': the axis is not spatio-temporal." - ,, "**Example:**" - ,, "A variable with ordering 'tzyx' is 4-dimensional, where the ordering of axes is (time, level, latitude, longitude)." - ,, "**Note:** The order string is of the form required for the order argument of a regridder function." - ,,"``intervals`` is a list of scalars, 2-tuples representing [i,j), slices, and/or Ellipses. If no ``argument(s)`` are present, all file paths associated with the variable are returned." - ,," Returns a list of tuples of the form (path,slicetuple), where path is the path of a file, and slicetuple is itself a tuple of slices, of the same length as the rank of the variable, representing the portion of the variable in the file corresponding to intervals." - ,, "**Note:** This function is not defined for transient variables." + "Various", "``getMissing()``", "Get the missing data value, or ``None`` if not found. + String ``getOrder()`` Get the order string of a spatio-temporal variable. + * The order string specifies the physical ordering of the data. + * It is a string of characters with length equal to the rank of the variable, indicating the order of the variable's time, level, latitude, and/or longitude axes. + Each character is one of: + * 't': time + * 'z': vertical level + * 'y': latitude + * 'x': longitude + * '-': the axis is not spatio-temporal. + **Example:** + * A variable with ordering 'tzyx' is 4-dimensional, where the ordering of axes is (time, level, latitude, longitude). + + **Note:** The order string is of the form required for the order argument of a regridder function. + * ``intervals`` is a list of scalars, 2-tuples representing [i,j), slices, and/or Ellipses. + * If no ``argument(s)`` are present, all file paths associated with the variable are returned. + * Returns a list of tuples of the form (path,slicetuple), where path is the path of a file, and slicetuple is itself a tuple of slices, of the same length as the rank of the variable, representing the portion of the variable in the file corresponding to intervals. + **Note:** This function is not defined for transient variables." "Axis", "``getTime()``", "Get the time axis, or ``None`` if not found." "List", "``getPaths(*intervals)``", "Get the file paths associated with the index region specified by intervals." - "Integer", "``len(var)``", "The length of the first dimension of the variable. If the variable is zero-dimensional (scalar), a length of 0 is returned." - ,,"**Note:** ``size()`` returns the total number of elements." - "Transient Variable", "``pressureRegrid (newLevel, method='log', missin=None, order=None)``", "Return the variable regridded to a new set of pressure levels newLevel. The variable must be a function of latitude, longitude, pressure level, and (optionally) time." - ,, "``newLevel`` is an axis of the result pressure levels." - ,, "``method`` is optional, either 'log' to interpolate in the log of pressure (default), or 'linear' for linear interpolation." - ,, "``missing`` is a missing data value. The default is ``var.getMissing()``" - ,, "``order`` is an order string such as 'tzyx' or 'zyx'. The default is ``var.getOrder()``" - ,, "See also: ``regrid``, ``crossSectionRegrid``." + "Integer", "``len(var)``", "The length of the first dimension of the variable. If the variable is zero-dimensional (scalar), a length of 0 is returned. + **Note:** ``size()`` returns the total number of elements." + "Transient Variable", "``pressureRegrid (newLevel, method='log', missin=None, order=None)``", "Return the variable regridded to a new set of pressure levels newLevel. + The variable must be a function of latitude, longitude, pressure level, and (optionally) time. + * ``newLevel`` is an axis of the result pressure levels. + * ``method`` is optional, either 'log' to interpolate in the log of pressure (default), or 'linear' for linear interpolation. + * ``missing`` is a missing data value. The default is ``var.getMissing()`` + * ``order`` is an order string such as 'tzyx' or 'zyx'. The default is ``var.getOrder()`` + * See also: ``regrid``, ``crossSectionRegrid``." "Integer", "``rank()``", "The number of dimensions of the variable." - "Transient", "``regrid (togrid, missing=None, order=None, Variable mask=None)``","Return the variable regridded to the horizontal grid togrid." - ,, "``missing`` is a Float specifying the missing data value. The default is 1.0e20." - ,, "``order`` is a string indicating the order of dimensions of the array. It has the form returned from ``variable.getOrder()``. For example, the string 'tzyx' indicates that the dimension order of array is (time, level, latitude, longitude). If unspecified, the function assumes that the last two dimensions of array match the input grid." - ,, "``mask`` is a Numpy array, of datatype Integer or Float, consisting of ones and zeros. A value of 0 or 0.0 indicates that the corresponding data value is to be ignored for purposes of regridding. If mask is two-dimensional of the same shape as the input grid, it overrides the mask of the input grid. If the mask has more than two dimensions, it must have the same shape as array. In this case, the missing data value is also ignored. Such an n-dimensional mask is useful if the pattern of missing data varies with level (e.g., ocean data) or time. Note: If neither missing or mask is set, the default mask is obtained from the mask of the array if any." - ,, "See also: ``crossSectionRegrid``, ``pressureRegrid``." + "Transient", "``regrid (togrid, missing=None, order=None, Variable mask=None)``","Return the variable regridded to the horizontal grid togrid. + * ``missing`` is a Float specifying the missing data value. The default is 1.0e20. + * ``order`` is a string indicating the order of dimensions of the array. It has the form returned from ``variable.getOrder()``. + * For example, the string 'tzyx' indicates that the dimension order of array is (time, level, latitude, longitude). + * If unspecified, the function assumes that the last two dimensions of array match the input grid. + * ``mask`` is a Numpy array, of datatype Integer or Float, consisting of ones and zeros. A value of 0 or 0.0 indicates that the corresponding data value is to be ignored for purposes of regridding. + * If mask is two-dimensional of the same shape as the input grid, it overrides the mask of the input grid. + * If the mask has more than two dimensions, it must have the same shape as array. In this case, the missing data value is also ignored. + * Such an n-dimensional mask is useful if the pattern of missing data varies with level (e.g., ocean data) or time. + **Note:** If neither missing or mask is set, the default mask is obtained from the mask of the array if any. + See also: ``crossSectionRegrid``, ``pressureRegrid``." "``None``", "``setAxis(n, axis)``", "Set the n-th axis (0-origin index) of to a copy of axis." "``None``", "``setAxisList(axislist)``", "Set all axes of the variable. axislist is a list of axis objects." "``None``", "``setMissing(value)``", "Set the missing value. Integer ``size()`` Number of elements of the variable." - "Variable", "``subRegion(* region, time=None, level=None, latitude=None, longitude=None, squeeze=0, raw=0)``", "Read a coordinate region of data, returning a transient variable. A region is a hyperrectangle in coordinate space." - ,,"``region`` is an argument list, each item of which specifies an interval of a coordinate axis. The intervals are listed in the order of the variable axes. If trailing dimensions are omitted, all values of those dimensions are retrieved. If an axis is circular (axis.isCircular() is true) or cycle is specified (see below), then data will be read with wraparound in that dimension. Only one axis may be read with wraparound. A coordinate interval has one of the forms listed in `Index and Coordinate Intervals <#table-index-and-coordinate-intervals>`_ . Also see ``axis.mapIntervalExt``." - ,,"The optional keyword arguments ``time``, ``level``, ``latitude``, and ``longitude`` may also be used to specify the dimension for which the interval applies. This is particularly useful if the order of dimensions is not known in advance. An exception is raised if a keyword argument conflicts with a positional region argument." - ,,"The optional keyword argument ``squeeze`` determines whether or not the shape of the returned array contains dimensions whose length is 1; by default this argument is 0, and such dimensions are not 'squeezed out'." - ,,"The optional keyword argument ``raw`` specifies whether the return object is a variable or a masked array. By default, a transient variable is returned, having the axes and attributes corresponding to2,3 the region read. If raw=1, an MV2 masked array is returned, equivalent to the transient variable without the axis and attribute information." - "Variable", "``subSlice(* specs, time=None, level=None, latitude=None, longitude=None, squeeze=0, raw=0)``", "Read a slice of data, returning a transient variable. This is a functional form of the slice operator [] with the squeeze option turned off." - ,,"``specs`` is an argument list, each element of which specifies a slice of the corresponding dimension. There can be zero or more positional arguments, each of the form:" - ,,"* a single integer n, meaning ``slice(n, n+1)``" - ,,"* an instance of the slice class" - ,,"* a tuple, which will be used as arguments to create a slice" - ,,"* ':', which means a slice covering that entire dimension" - ,,"* Ellipsis (...), which means to fill the slice list with ':' leaving only enough room at the end for the remaining positional arguments" - ,,"* a Python slice object, of the form ``slice(i,j,k)``" - ,,"If there are fewer slices than corresponding dimensions, all values of the trailing dimensions are read." - ,,"The keyword arguments are defined as in subRegion." - ,,"There must be no conflict between the positional arguments and the keywords." - ,,"In ``(a)-(c)`` and (f), negative numbers are treated as offsets from the end of that dimension, as in normal Python indexing." - ,,"String ``typecode()`` The Numpy datatype identifier." + "Variable", "``subRegion(* region, time=None, level=None, latitude=None, longitude=None, squeeze=0, raw=0)``", "Read a coordinate region of data, returning a transient variable. + A region is a hyperrectangle in coordinate space. + * ``region`` is an argument list, each item of which specifies an interval of a coordinate axis. The intervals are listed in the order of the variable axes. + * If trailing dimensions are omitted, all values of those dimensions are retrieved. + * If an axis is circular (axis.isCircular() is true) or cycle is specified (see below), then data will be read with wraparound in that dimension. + * Only one axis may be read with wraparound. + * A coordinate interval has one of the forms listed in `Index and Coordinate Intervals <#table-index-and-coordinate-intervals>`_ . + * Also see ``axis.mapIntervalExt``. + * The optional keyword arguments ``time``, ``level``, ``latitude``, and ``longitude`` may also be used to specify the dimension for which the interval applies. This is particularly useful if the order of dimensions is not known in advance. + * An exception is raised if a keyword argument conflicts with a positional region argument. + * The optional keyword argument ``squeeze`` determines whether or not the shape of the returned array contains dimensions whose length is 1; by default this argument is 0, and such dimensions are not 'squeezed out'. + * The optional keyword argument ``raw`` specifies whether the return object is a variable or a masked array. + * By default, a transient variable is returned, having the axes and attributes corresponding to2,3 the region read. If raw=1, an MV2 masked array is returned, equivalent to the transient variable without the axis and attribute information." + "Variable", "``subSlice(* specs, time=None, level=None, latitude=None, longitude=None, squeeze=0, raw=0)``", "Read a slice of data, returning a transient variable. + This is a functional form of the slice operator [] with the squeeze option turned off. + * ``specs`` is an argument list, each element of which specifies a slice of the corresponding dimension. + There can be zero or more positional arguments, each of the form: + * a single integer n, meaning ``slice(n, n+1)`` + * an instance of the slice class + * a tuple, which will be used as arguments to create a slice + * ':', which means a slice covering that entire dimension + * Ellipsis (...), which means to fill the slice list with ':' leaving only enough room at the end for the remaining positional arguments + * a Python slice object, of the form ``slice(i,j,k)`` + * If there are fewer slices than corresponding dimensions, all values of the trailing dimensions are read. + * The keyword arguments are defined as in subRegion. + * There must be no conflict between the positional arguments and the keywords. + * In ``(a)-(c)`` and (f), negative numbers are treated as offsets from the end of that dimension, as in normal Python indexing. + * String ``typecode()`` The Numpy datatype identifier." Example Get a Region of Data. ----------------------------- @@ -1456,25 +1722,25 @@ including+45.0, longitudes 0.0 through and including longitude 180.0: :: - data = ta.subRegion(':', (-45.0,45.0,'co'), (0.0, 180.0)) + >>> data = ta.subRegion(':', (-45.0,45.0,'co'), (0.0, 180.0)) or equivalently: :: - data = ta.subRegion(latitude=(-45.0,45.0,'co'), longitude=(0.0, + >>> data = ta.subRegion(latitude=(-45.0,45.0,'co'), longitude=(0.0, 180.0) Read all data for March, 1980: :: - data = ta.subRegion(time=('1980-3','1980-4','co')) + >>> data = ta.subRegion(time=('1980-3','1980-4','co')) -Table Variable Slice Operators ------------------------------- +Variable Slice Operators +------------------------ .. csv-table:: :header: "Operator", "Description" @@ -1492,22 +1758,22 @@ Table Variable Slice Operators -Table Index and Coordinate Intervals ------------------------------------- +Index and Coordinate Intervals +------------------------------ .. csv-table:: :header: "Interval Definition", "Example Interval Definition", "Example" :widths: 30, 80, 80 - "``x``", "single point, such that axis[i]==x In general x is a scalar. If the axis is a time axis, x may also be a cdtime relative time type, component time type, or string of the form ‘yyyy-mm-dd hh:mi:ss’ (where trailing fields of the string may be omitted.", "``180.0``" - ,,"``cdtime.reltime(48,'hour s since 1980-1')``" - ,,"``'1980-1-3'``" + "``x``", "single point, such that axis[i]==x In general x is a scalar. If the axis is a time axis, x may also be a cdtime relative time type, component time type, or string of the form ‘yyyy-mm-dd hh:mi:ss’ (where trailing fields of the string may be omitted.", "``180.0`` + ``cdtime.reltime(48,'hour s since 1980-1')`` + ``'1980-1-3'``" "``(x,y)``", "indices i such that x ≤ axis[i] ≤ y", "``(-180,180)``" "``(x,y,'co')``", "``x ≤ axis[i] < y``. The third item is defined as in mapInterval.", "``(-90,90,'cc')``" - "``(x,y,'co',cycle)``", "``x ≤ axis[i]< y``, with wraparound", "``( 180, 180, 'co', 360.0)``" - "","**Note:** It is not necesary to specify the cycle of a circular longitude axis, that is, for which ``axis.isCircular()`` is true.", - "``slice(i,j,k)``", " slice object, equivalent to i:j:k in a slice operator. Refers to the indices i, i+k, i+2k, … up to but not including index j. If i is not specified or is None it defaults to 0. If j is not specified or is None it defaults to the length of the axis. The stride k defaults to 1. k may be negative.","``slice(1,10)``" - ,,"``slice(,,-1)`` reverses the direction of the axis." + "``(x,y,'co',cycle)``", "``x ≤ axis[i]< y``, with wraparound", "``( 180, 180, 'co', 360.0)`` + **Note:** It is not necesary to specify the cycle of a circular longitude axis, that is, for which ``axis.isCircular()`` is true." + "``slice(i,j,k)``", " slice object, equivalent to i:j:k in a slice operator. Refers to the indices i, i+k, i+2k, … up to but not including index j. If i is not specified or is None it defaults to 0. If j is not specified or is None it defaults to the length of the axis. The stride k defaults to 1. k may be negative.","``slice(1,10)`` + ``slice(,,-1)`` reverses the direction of the axis." "``':'``", "all axis values of one dimension", "``Ellipsis``", "all values of all intermediate axes", @@ -1521,7 +1787,7 @@ variable. For example, the statement: :: - x = v(time='1979-1-1', level=(1000.0,100.0)) + >>> x = v(time='1979-1-1', level=(1000.0,100.0)) means ‘select the values of variable v for time ‘1979-1-1’ and levels @@ -1533,14 +1799,14 @@ The form for using a selector is: :: - result = v(s) + >>> result = v(s) where v is a variable and s is the selector. An equivalent form is: :: - result = f('varid', s) + >>> result = f('varid', s) where f is a file or dataset, and ‘varid’ is the string ID of a @@ -1552,7 +1818,7 @@ selector: :: - time='1979-1-1', level=(1000.0,100.0) + >>> time='1979-1-1', level=(1000.0,100.0) has two components: time=’1979-1-1’, and level=(1000.0,100.0). This @@ -1562,7 +1828,7 @@ the form: :: - keyword=value + >>> keyword=value Note that for the keywords time, level, latitude, and longitude, the @@ -1577,22 +1843,22 @@ components is the positional form, where the component order corresponds to the axis order of a variable. For example: -Table Selector Keywords ------------------------ +Selector Keywords +----------------- .. csv-table:: :header: "Keyword", "Description", "Value" :widths: 30, 80, 80 "``axisid``", "Restrict the axis with ID axisid to a value or range of values.", See `Index and Coordinate Intervals <#table-index-and-coordinate-intervals>`_ - "``grid``", "Regrid the result to the grid.", " Grid object" + "``grid``", "Regrid the result to the grid.", "Grid object" "``latitude``", "Restrict latitude values to a value or range. Short form: lat", See `Index and Coordinate Intervals <#table-index-and-coordinate-intervals>`_ "``level``", "Restrict vertical levels to a value or range. Short form: lev",See `Index and Coordinate Intervals <#table-index-and-coordinate-intervals>`_ "``longitude``", "Restrict longitude values to a value or range. Short form: lon", See `Index and Coordinate Intervals <#table-index-and-coordinate-intervals>`_ - "``order``", "Reorder the result.", " Order string, e.g., 'tzyx'" - "``raw``", "Return a masked array (MV2.array) rather than a transient variable.", "0: return a transient variable (default); =1: return a masked array." - "``required``", "Require that the axis IDs be present.", " List of axis identifiers." - "``squeeze``", "Remove singleton dimensions from the result.", " 0: leave singleton dimensions (default); 1: remove singleton dimensions." + "``order``", "Reorder the result.", "Order string, e.g., 'tzyx'" + "``raw``", "Return a masked array (MV2.array) rather than a transient variable.", "0: return a transient variable (default); =1: return a masked array." + "``required``", "Require that the axis IDs be present.", "List of axis identifiers." + "``squeeze``", "Remove singleton dimensions from the result.", "0: leave singleton dimensions (default); 1: remove singleton dimensions." "``time``", "Restrict time values to a value or range.", See `Index and Coordinate Intervals <#table-index-and-coordinate-intervals>`_ Another form of selector components is the positional form, where the @@ -1602,7 +1868,7 @@ example: :: - x9 = hus(('1979-1-1','1979-2-1'),1000.0) + >>> x9 = hus(('1979-1-1','1979-2-1'),1000.0) reads data for the range (‘1979-1-1’,’1979-2-1’) of the first axis, and @@ -1618,11 +1884,16 @@ takes an argument list of selector components. For example: :: + + >>> from cdms.selectors import Selector + >>> sel = Selector(time=('1979-1-1','1979-2-1'), level=1000.) + >>> x1 = v1(sel) + >>> x2 = v2(sel) - from cdms.selectors import Selector - sel = Selector(time=('1979-1-1','1979-2-1'), level=1000.) - x1 = v1(sel) - x2 = v2(sel) + >>> from cdms.selectors import Selector + >>> sel = Selector(time=('1979-1-1','1979-2-1'), level=1000.) + >>> x1 = v1(sel) + >>> x2 = v2(sel) For convenience CDMS provides several predefined selectors, which can be @@ -1633,8 +1904,8 @@ to their keyword counterparts. For example: :: - from cdms import time, level - x = hus(time('1979-1-1','1979-2-1'), level(1000.)) + >>> from cdms import time, level + >>> x = hus(time('1979-1-1','1979-2-1'), level(1000.)) and @@ -1642,7 +1913,6 @@ and :: - x = hus(time=('1979-1-1','1979-2-1'), level=1000.) are equivalent. Additionally, the predefined selectors @@ -1652,8 +1922,8 @@ take arguments ``(startindex, stopindex[, stride])``: :: - from cdms import timeslice, levelslice - x = v(timeslice(0,2), levelslice(16,17)) + >>> from cdms import timeslice, levelslice + >>> x = v(timeslice(0,2), levelslice(16,17)) Finally, a collection of selectors is defined in module cdutil.region: @@ -1661,12 +1931,12 @@ Finally, a collection of selectors is defined in module cdutil.region: :: - from cdutil.region import * - NH=NorthernHemisphere=domain(latitude=(0.,90.) - SH=SouthernHemisphere=domain(latitude=(-90.,0.)) - Tropics=domain(latitude=(-23.4,23.4)) - NPZ=AZ=ArcticZone=domain(latitude=(66.6,90.)) - SPZ=AAZ=AntarcticZone=domain(latitude=(-90.,-66.6)) + >>> from cdutil.region import * + >>> NH=NorthernHemisphere=domain(latitude=(0.,90.) + >>> SH=SouthernHemisphere=domain(latitude=(-90.,0.)) + >>> Tropics=domain(latitude=(-23.4,23.4)) + >>> NPZ=AZ=ArcticZone=domain(latitude=(66.6,90.)) + >>> SPZ=AAZ=AntarcticZone=domain(latitude=(-90.,-66.6)) Selectors can be combined using the & operator, or by refining them in @@ -1674,12 +1944,12 @@ the call: :: - from cdms.selectors import Selector - from cdms import level - sel2 = Selector(time=('1979-1-1','1979-2-1')) - sel3 = sel2 & level(1000.0) - x1 = hus(sel3) - x2 = hus(sel2, level=1000.0) + >>> from cdms.selectors import Selector + >>> from cdms import level + >>> sel2 = Selector(time=('1979-1-1','1979-2-1')) + >>> sel3 = sel2 & level(1000.0) + >>> x1 = hus(sel3) + >>> x2 = hus(sel2, level=1000.0) @@ -1696,50 +1966,50 @@ remove the singleton level dimension from the result array. :: - import cdms - f = cdms.open('sample.nc') - hus = f.variables['hus'] - - # Keyword selection - x = hus(time=('1979-1-1','1979-2-1'), level=1000.) - - # Interval indicator (see mapIntervalExt) - x = hus(time=('1979-1-1','1979-3-1','co'), level=1000.) - - # Axis ID (plev) as a keyword - x = hus(time=('1979-1-1','1979-2-1'), plev=1000.) - - # Positional - x9 = hus(('1979-1-1','1979-2-1'),1000.0) - - # Predefined selectors - from cdms import time, level - x = hus(time('1979-1-1','1979-2-1'), level(1000.)) - - from cdms import timeslice, levelslice - x = hus(timeslice(0,2), levelslice(16,17)) - - # Call file as a function - x = f('hus', time=('1979-1-1','1979-2-1'), level=1000.) - - # Python slices - x = hus(time=slice(0,2), level=slice(16,17)) - - # Selector objects - from cdms.selectors import Selector - sel = Selector(time=('1979-1-1','1979-2-1'), level=1000.) - x = hus(sel) - - sel2 = Selector(time=('1979-1-1','1979-2-1')) - sel3 = sel2 & level(1000.0) - x = hus(sel3) - x = hus(sel2, level=1000.0) - - # Squeeze singleton dimension (level) - x = hus[0:2,16] - x = hus(time=('1979-1-1','1979-2-1'), level=1000., squeeze=1) - - f.close() + >>> import cdms + >>> f = cdms.open('sample.nc') + >>> hus = f.variables['hus'] + >>> + >>> # Keyword selection + >>> x = hus(time=('1979-1-1','1979-2-1'), level=1000.) + >>> + >>> # Interval indicator (see mapIntervalExt) + >>> x = hus(time=('1979-1-1','1979-3-1','co'), level=1000.) + >>> + >>> # Axis ID (plev) as a keyword + >>> x = hus(time=('1979-1-1','1979-2-1'), plev=1000.) + >>> + >>> # Positional + >>> x9 = hus(('1979-1-1','1979-2-1'),1000.0) + >>> + >>> # Predefined selectors + >>> from cdms import time, level + >>> x = hus(time('1979-1-1','1979-2-1'), level(1000.)) + >>> + >>> from cdms import timeslice, levelslice + >>> x = hus(timeslice(0,2), levelslice(16,17)) + >>> + >>> # Call file as a function + >>> x = f('hus', time=('1979-1-1','1979-2-1'), level=1000.) + >>> + >>> # Python slices + >>> x = hus(time=slice(0,2), level=slice(16,17)) + >>> + >>> # Selector objects + >>> from cdms.selectors import Selector + >>> sel = Selector(time=('1979-1-1','1979-2-1'), level=1000.) + >>> x = hus(sel) + >>> + >>> sel2 = Selector(time=('1979-1-1','1979-2-1')) + >>> sel3 = sel2 & level(1000.0) + >>> x = hus(sel3) + >>> x = hus(sel2, level=1000.0) + >>> + >>> # Squeeze singleton dimension (level) + >>> x = hus[0:2,16] + >>> x = hus(time=('1979-1-1','1979-2-1'), level=1000., squeeze=1) + >>> + >>> f.close() Examples @@ -1764,79 +2034,80 @@ results are written to a netCDF file. For brevity, the functions :: - 1. import cdms - import MV - - # Calculate variance, slope, and correlation of - # surface air temperature with upper air temperature - # by level, and save to a netCDF file. 'pathTa' is the location of - # the file containing 'ta', 'pathTas' is the file with contains 'tas'. - # Data is extracted from January of year1 through December of year2. - def ccSlopeVarianceBySeasonFiltNet(pathTa,pathTas,month1,month2): - - # Open the files for ta and tas - fta = cdms.open(pathTa) - ftas = cdms.open(pathTas) - - 2. #Get upper air temperature - taObj = fta['ta'] - levs = taObj.getLevel() - - #Get the surface temperature for the closed interval [time1,time2] - tas = ftas('tas', time=(month1,month2,'cc')) - - # Allocate result arrays - newaxes = taObj.getAxisList(omit='time') - newshape = tuple([len(a) for a in newaxes]) - cc = MV.zeros(newshape, typecode=MV.Float, axes=newaxes, id='correlation') - b = MV.zeros(newshape, typecode=MV.Float, axes=newaxes, id='slope') - v = MV.zeros(newshape, typecode=MV.Float, axes=newaxes, id='variance') - - # Remove seasonal cycle from surface air temperature - tas = removeSeasonalCycle(tas) - - # For each level of air temperature, remove seasonal cycle - # from upper air temperature, and calculate statistics - 5. for ilev in range(len(levs)): - - ta = taObj(time=(month1,month2,'cc'), \ - level=slice(ilev, ilev+1), squeeze=1) - ta = removeSeasonalCycle(ta) - cc[ilev], b[ilev] = corrCoefSlope(tas ,ta) - v[ilev] = MV.sum( ta**2 )/(1.0*ta.shape[0]) - - # Write slope, correlation, and variance variables - 6. f = cdms.open('CC_B_V_ALL.nc','w') - f.title = filtered - f.write(b) - f.write(cc) - f.write(v) - f.close() - - 7. if __name__=='__main__': - pathTa = '/pcmdi/cdms/sample/ccmSample_ta.xml' - pathTas = '/pcmdi/cdms/sample/ccmSample_tas.xml' - # Process Jan80 through Dec81 - ccSlopeVarianceBySeasonFiltNet(pathTa,pathTas,'80-1','81-12') + >>> 1. import cdms + >>> import MV + >>> + >>> # Calculate variance, slope, and correlation of + >>> # surface air temperature with upper air temperature + >>> # by level, and save to a netCDF file. 'pathTa' is the location of + >>> # the file containing 'ta', 'pathTas' is the file with contains 'tas'. + >>> # Data is extracted from January of year1 through December of year2. + >>> def ccSlopeVarianceBySeasonFiltNet(pathTa,pathTas,month1,month2): + >>> + >>> # Open the files for ta and tas + >>> fta = cdms.open(pathTa) + >>> ftas = cdms.open(pathTas) + >>> + >>> 2. #Get upper air temperature + >>> taObj = fta['ta'] + >>> levs = taObj.getLevel() + >>> + >>> #Get the surface temperature for the closed interval [time1,time2] + >>> tas = ftas('tas', time=(month1,month2,'cc')) + >>> + >>> # Allocate result arrays + >>> newaxes = taObj.getAxisList(omit='time') + >>> newshape = tuple([len(a) for a in newaxes]) + >>> cc = MV.zeros(newshape, typecode=MV.Float, axes=newaxes, id='correlation') + >>> b = MV.zeros(newshape, typecode=MV.Float, axes=newaxes, id='slope') + >>> v = MV.zeros(newshape, typecode=MV.Float, axes=newaxes, id='variance') + >>> + >>> # Remove seasonal cycle from surface air temperature + >>> tas = removeSeasonalCycle(tas) + >>> + >>> # For each level of air temperature, remove seasonal cycle + >>> # from upper air temperature, and calculate statistics + >>> 5. for ilev in range(len(levs)): + >>> + >>> ta = taObj(time=(month1,month2,'cc'), \ + >>> level=slice(ilev, ilev+1), squeeze=1) + >>> ta = removeSeasonalCycle(ta) + >>> cc[ilev], b[ilev] = corrCoefSlope(tas ,ta) + >>> v[ilev] = MV.sum( ta**2 )/(1.0*ta.shape[0]) + >>> + >>> # Write slope, correlation, and variance variables + >>> 6. f = cdms.open('CC_B_V_ALL.nc','w') + >>> f.title = filtered + >>> f.write(b) + >>> f.write(cc) + >>> f.write(v) + >>> f.close() + >>> + >>> 7. if __name__=='__main__': + >>> pathTa = '/pcmdi/cdms/sample/ccmSample_ta.xml' + >>> pathTas = '/pcmdi/cdms/sample/ccmSample_tas.xml' + >>> # Process Jan80 through Dec81 + >>> ccSlopeVarianceBySeasonFiltNet(pathTa,pathTas,'80-1','81-12') **Notes:** +:: -#. Two modules are imported, ``cdms``, and ``MV``. ``MV`` implements - arithmetic functions. -#. ``taObj`` is a file (persistent) variable. At this point, no data has - actually been read. This happens when the file variable is sliced, or - when the subRegion function is called. levs is an axis. -#. Calling the file like a function reads data for the given variable - and time range. Note that month1 and month2 are time strings. -#. In contrast to ``taObj``, the variables ``cc``, ``b``, and ``v`` are - transient variables, not associated with a file. The assigned names - are used when the variables are written. -#. Another way to read data is to call the variable as a function. The - squeeze option removes singleton axes, in this case the level axis. -#. Write the data. Axis information is written automatically. -#. This is the main routine of the script. ``pathTa`` and ``pathTas`` - pathnames. Data is processed from January 1980 through December 1981. + 1. Two modules are imported, "cdms", and "MV". "MV" implements + arithmetic functions. + 15. "taObj" is a file (persistent) variable. At this point, no data has + actually been read. This happens when the file variable is sliced, or + when the subRegion function is called. levs is an axis. + 20. Calling the file like a function reads data for the given variable + and time range. Note that month1 and month2 are time strings. + 25. In contrast to "taObj", the variables "cc:" b" and "v" are + transient variables, not associated with a file. The assigned names + are used when the variables are written. + 34. Another way to read data is to call the variable as a function. The + squeeze option removes singleton axes, in this case the level axis. + 43. Write the data. Axis information is written automatically. + 50. This is the main routine of the script. "pathTa" and "pathTas" + pathnames. Data is processed from January 1980 through December 1981. @@ -1851,108 +2122,108 @@ the vcs module. :: - #!/usr/bin/env python - # - # Calculates gridpoint total variance - # from an array of interest - # - - import cdms - from MV import * - - # Wait for return in an interactive window - - def pause(): - print Hit return to continue: , - line = sys.stdin.readline() - - 1. # Calculate pointwise variance of variable over time - # Returns the variance and the number of points - # for which the data is defined, for each grid point - def calcVar(x): - # Check that the first axis is a time axis - firstaxis = x.getAxis(0) - if not firstaxis.isTime(): - raise 'First axis is not time, variable:', x.id - - n = count(x,0) - sumxx = sum(x*x) - sumx = sum(x) - variance = (n*sumxx -(sumx * sumx))/(n * (n-1.)) - - return variance, n - - if __name__=='__main__': - import vcs, sys - - print 'Enter dataset path [/pcmdi/cdms/obs/erbs_mo.xml]: ', - path = string.strip(sys.stdin.readline()) - if path=='': path='/pcmdi/cdms/obs/erbs_mo.xml' - - 2. # Open the dataset - dataset = cdms.open(path) - - # Select a variable from the dataset - print 'Variables in file:',path - varnames = dataset.variables.keys() - varnames.sort() - for varname in varnames: - - var = dataset.variables[varname] - if hasattr(var,'long_name'): - long_name = var.long_name - elif hasattr(var,'title'): - long_name = var.title - else: - long_name = '?' - - print '%-10s: %s'%(varname,long_name) - print 'Select a variable: ', - 3. varname = string.strip(sys.stdin.readline()) - var = dataset(varname) - dataset.close() - - # Calculate variance, count, and set attributes - variance,n = calcVar(var) - variance.id = 'variance_%s'%var.id - n.id = 'count_%s'%var.id - if hasattr(var,'units'): - variance.units = '(%s)^2'%var.units - - # Plot variance - w=vcs.init() - 4. w.plot(variance) - pause() - w.clear() - w.plot(n) - pause() - w.clear() + >>> #!/usr/bin/env python + >>> # + >>> # Calculates gridpoint total variance + >>> # from an array of interest + >>> # + >>> + >>> import cdms + >>> from MV import * + >>> + >>> # Wait for return in an interactive window + >>> + >>> def pause(): + >>> print Hit return to continue: , + >>> line = sys.stdin.readline() + >>> + >>> 1. # Calculate pointwise variance of variable over time + >>> # Returns the variance and the number of points + >>> # for which the data is defined, for each grid point + >>> def calcVar(x): + >>> # Check that the first axis is a time axis + >>> firstaxis = x.getAxis(0) + >>> if not firstaxis.isTime(): + >>> raise 'First axis is not time, variable:', x.id + >>> + >>> n = count(x,0) + >>> sumxx = sum(x*x) + >>> sumx = sum(x) + >>> variance = (n*sumxx -(sumx * sumx))/(n * (n-1.)) + >>> + >>> return variance, n + >>> + >>> if __name__=='__main__': + >>> import vcs, sys + >>> + >>> print 'Enter dataset path [/pcmdi/cdms/obs/erbs_mo.xml]: ', + >>> path = string.strip(sys.stdin.readline()) + >>> if path=='': path='/pcmdi/cdms/obs/erbs_mo.xml' + >>> + >>> 2. # Open the dataset + >>> dataset = cdms.open(path) + >>> + >>> # Select a variable from the dataset + >>> print 'Variables in file:',path + >>> varnames = dataset.variables.keys() + >>> varnames.sort() + >>> for varname in varnames: + >>> + >>> var = dataset.variables[varname] + >>> if hasattr(var,'long_name'): + >>> long_name = var.long_name + >>> elif hasattr(var,'title'): + >>> long_name = var.title + >>> else: + >>> long_name = '?' + >>> + >>> print '%-10s: %s'%(varname,long_name) + >>> print 'Select a variable: ', + >>> 3. varname = string.strip(sys.stdin.readline()) + >>> var = dataset(varname) + >>> dataset.close() + >>> + >>> # Calculate variance, count, and set attributes + >>> variance,n = calcVar(var) + >>> variance.id = 'variance_%s'%var.id + >>> n.id = 'count_%s'%var.id + >>> if hasattr(var,'units'): + >>> variance.units = '(%s)^2'%var.units + >>> + >>> # Plot variance + >>> w=vcs.init() + >>> 4. w.plot(variance) + >>> pause() + >>> w.clear() + >>> w.plot(n) + >>> pause() + >>> w.clear() The result of running this script is as follows: :: - % calcVar.py - Enter dataset path [/pcmdi/cdms/sample/obs/erbs_mo.xml]: - - Variables in file: /pcmdi/cdms/sample/obs/erbs_mo.xml - albt : Albedo TOA [%] - albtcs : Albedo TOA clear sky [%] - rlcrft : LW Cloud Radiation Forcing TOA [W/m^2] - rlut : LW radiation TOA (OLR) [W/m^2] - rlutcs : LW radiation upward TOA clear sky [W/m^2] - rscrft : SW Cloud Radiation Forcing TOA [W/m^2] - rsdt : SW radiation downward TOA [W/m^2] - rsut : SW radiation upward TOA [W/m^2] - rsutcs : SW radiation upward TOA clear sky [W/m^2] - Select a variable: albt - - - - Hit return to continue: - - + >>> % calcVar.py + >>> Enter dataset path [/pcmdi/cdms/sample/obs/erbs_mo.xml]: + >>> + >>> Variables in file: /pcmdi/cdms/sample/obs/erbs_mo.xml + >>> albt : Albedo TOA [%] + >>> albtcs : Albedo TOA clear sky [%] + >>> rlcrft : LW Cloud Radiation Forcing TOA [W/m^2] + >>> rlut : LW radiation TOA (OLR) [W/m^2] + >>> rlutcs : LW radiation upward TOA clear sky [W/m^2] + >>> rscrft : SW Cloud Radiation Forcing TOA [W/m^2] + >>> rsdt : SW radiation downward TOA [W/m^2] + >>> rsut : SW radiation upward TOA [W/m^2] + >>> rsutcs : SW radiation upward TOA clear sky [W/m^2] + >>> Select a variable: albt + >>> + >>> + >>> + >>> Hit return to continue: + >>> + >>> **Notes:** diff --git a/docs/source/manual/cdms_3.rst b/docs/source/manual/cdms_3.rst index 8c2f973d..0de48446 100644 --- a/docs/source/manual/cdms_3.rst +++ b/docs/source/manual/cdms_3.rst @@ -11,7 +11,7 @@ Time Types import requests fnames = [ 'clt.nc', 'geos-sample', 'xieArkin-T42.nc', 'remap_grid_POP43.nc', 'remap_grid_T42.nc', 'rmp_POP43_to_T42_conserv.n', 'rmp_T42_to_POP43_conserv.nc', 'ta_ncep_87-6-88-4.nc', 'rmp_T42_to_C02562_conserv.nc' ] for file in fnames: - url = 'http://uvcdat.llnl.gov/cdat/sample_data/'+file + url = 'https://cdat.llnl.gov/cdat/sample_data/'+file r = requests.get(url) open(file, 'wb').write(r.content) @@ -78,93 +78,79 @@ Time Constructors The following table describes the methods for creating time types. -Table Time Constructors -~~~~~~~~~~~~~~~~~~~~~~~ +Time Constructors +~~~~~~~~~~~~~~~~~ .. csv-table:: :header: "Type", "Constructor", "Defintion" :widths: 10, 40, 80 :align: left - "Reltime", "``cdtime.reltime(value, relunits)``", "Create a relative time type." - ,, "``value`` is an integer or floating point value." - ,, "``relunits`` is a string of the form 'unit(s) [since basetime]' where ``unit = [second | minute | hour | day | week | month | season | year ]``" - ,, "``basetime`` has the form ``yyyy-mm-dd hh:mi:ss``. The default basetime is 1979-1-1, if no ``since`` clause is specified. **Example:** ``r = cdtime.reltime(28, 'days since 1996-1-1')``" - - "Comptime", "``cdtime.comptime(year, month=1, day=1, hour=0, minute=0, second=0.0)``", "Create a component time type." - ,,"``year`` is an integer." - ,,"``month`` is an integer in the range 1 .. 12" - ,,"``day`` is an integer in the range 1 .. 31" - ,,"``hour`` is an integer in the range 0 .. 23" - ,,"``minute`` is an integer in the range 0 .. 59" - ,,"``second`` is a floating point number in the range 0.0 ,, 60.0. **Example:** ``c = cdtime.comptime(1996, 2, 28)``" - +A relative time type has two members, value and units. Both can be set. Relative Time ^^^^^^^^^^^^^ -A relative time type has two members, value and units. Both can be set. -Table Relative Time Members -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Relative Time Members +~~~~~~~~~~~~~~~~~~~~~ -+----------+---------+-------------------------------------------------------+ -| Type | Name | Summary | -+==========+=========+=======================================================+ -| Float | value | Number of units | -+----------+---------+-------------------------------------------------------+ -| String | units | Relative units, of the form “unit(s) since basetime | -+----------+---------+-------------------------------------------------------+ Component Time ^^^^^^^^^^^^^^ A component time type has six members, all of which are settable. -Table Component Time -~~~~~~~~~~~~~~~~~~~~ +Component Time +~~~~~~~~~~~~~~ .. csv-table:: :header: "Type", "Name", "Summary" :widths: 15, 15, 50 - "Integer", "year", "Year value" - "Integer", "month", "Month, in the range 1..12" - "Integer", "day", "Day of month, in the range 1 .. 31" - "Integer", "hour", "Hour, in the range 0 .. 23" - "Integer", "minute", "Minute, in the range 0 .. 59" - "Float", "second", "Seconds, in the range 0.0 .. 60.0" + "Integer", "year", "Year value" + "Integer", "month", "Month, in the range 1..12" + "Integer", "day", "Day of month, in the range 1 .. 31" + "Integer", "hour", "Hour, in the range 0 .. 23" + "Integer", "minute", "Minute, in the range 0 .. 59" + "Float", "second", "Seconds, in the range 0.0 .. 60.0" Time Methods ^^^^^^^^^^^^ The following methods apply both to relative and component times. -Table Time Methods -~~~~~~~~~~~~~~~~~~ +Time Methods +~~~~~~~~~~~~ .. csv-table:: :header: "Type", "Method", "Definition" :widths: 20, 75, 80 :align: left - "Comptime or Reltime", "``t.add(value,intervalUnits, calendar=cdtime.Default-Calendar)``", "Add an interval of time to a time type t. Returns the same type of time." - ,, "``value`` is the Float number of interval units." - ,, "``intervalUnits`` is ``cdtime.[Second (s) | Minute(s) Hour(s) | Day(s) | Week(s) | Month(s) | Season(s) | Year(s) ]``" - ,, "``calendar`` is the calendar type." - "Integer", "``t.cmp(t2, calendar=cdtime.DefaultCalendar)``", "Compare time values t and t2. Returns -1, 0, 1 as t is less than, equal to, or greater than t2 respectively." - ,, "``t2`` is the time to compare." - ,, "``calendar`` is the calendar type." - "Comptime or Reltime", "``t.sub(value,intervalUnits, calendar=cdtime.DefaultCalendar)``", "Subtract an interval of time from a time type t. Returns the same type of time." - ,, "``value`` is the Float number of interval units." - ,, "``intervalUnits`` is cdtime.[Second (s) | Minute(s) | Hour(s) | Day(s) | Week(s) | Month(s) | Season(s) | Year(s)]" - ,, "``calendar`` is the calendar type. " - "Comptime", "``t.tocomp(calendar = cdtime.DefaultCalendar)``", "Convert to component time. Returns the equivalent component time." - ,, "``calendar`` is the calendar type." - "Reltime", "``t.torel(units, calendar=cdtime.DefaultCalendar)``", "Convert to relative time. Returns the equivalent relative time." + "Comptime or Reltime", "``t.add(value,intervalUnits, calendar=cdtime.Default-Calendar)``", "Add an interval of time to a time type t. + Returns the same type of time. + * ``value`` is the Float number of interval units. + * ``intervalUnits`` is ``cdtime. + * [Second (s) | Minute(s) Hour(s) | Day(s) | Week(s) | Month(s) | Season(s) | Year(s) ]`` + * ``calendar`` is the calendar type." + "Integer", "``t.cmp(t2, calendar=cdtime.DefaultCalendar)``", "Compare time values t and t2. + Returns -1, 0, 1 as t is less than, equal to, or greater than t2 respectively. + * ``t2`` is the time to compare. + * ``calendar`` is the calendar type." + "Comptime or Reltime", "``t.sub(value,intervalUnits, calendar=cdtime.DefaultCalendar)``", "Subtract an interval of time from a time type t. + Returns the same type of time. + * ``value`` is the Float number of interval units. + * ``intervalUnits`` is cdtime.[Second (s) | Minute(s) | Hour(s) | Day(s) | Week(s) | Month(s) | Season(s) | Year(s)] + * ``calendar`` is the calendar type. " + "Comptime", "``t.tocomp(calendar = cdtime.DefaultCalendar)``", "Convert to component time. + Returns the equivalent component time. + * ``calendar`` is the calendar type." + "Reltime", "``t.torel(units, calendar=cdtime.DefaultCalendar)``", "Convert to relative time. + Returns the equivalent relative time." Examples ^^^^^^^^ -.. doctest:: +:: >>> from cdtime import * >>> c = comptime(1996,2,28) @@ -177,7 +163,7 @@ Examples **Note:** When adding or subtracting intervals of months or years, only the month and year of the result are significant. The reason is that intervals in months/years are not commensurate with intervals in days or fractional days. This leads to results that may be surprising. -.. doctest:: +.. >>> c = comptime(1979,8,31) >>> c.add(1,Month) @@ -186,7 +172,7 @@ Examples In other words, the day component of c was ignored in the addition, and the day/hour/minute components of the results are just the defaults. If the interval is in years, the interval is converted internally to months: -.. doctest:: +.. >>> c = comptime(1979,8,31) >>> c.add(2,Years) @@ -194,7 +180,7 @@ In other words, the day component of c was ignored in the addition, and the day/ Compare time values. -.. doctest:: +.. >>> from cdtime import * >>> r = cdtime.reltime(28,"days since 1996-1-1") @@ -209,7 +195,7 @@ Compare time values. Subtract an interval of time. -.. doctest:: +.. >>> from cdtime import * >>> r = cdtime.reltime(28,"days since 1996-1-1") @@ -224,7 +210,7 @@ For intervals of years or months, see the **note** under add() in the example ab Convert to component time. -.. doctest:: +.. >>> r = cdtime.reltime(28,"days since 1996-1-1") >>> r.tocomp() @@ -233,7 +219,7 @@ Convert to component time. Convert to relative time. -.. doctest:: +.. >>> c = comptime(1996,2,28) >>> print c.torel("days since 1996-1-1") diff --git a/docs/source/manual/cdms_4.rst b/docs/source/manual/cdms_4.rst index 62655945..0ad2da33 100644 --- a/docs/source/manual/cdms_4.rst +++ b/docs/source/manual/cdms_4.rst @@ -39,7 +39,7 @@ grid to another is to use the regrid function defined for variables. This function takes the target grid as an argument, and returns the variable regridded to the target grid: -.. doctest:: +:: >>> # wget "http://cdat.llnl.gov/cdat/sample_data/clt.nc" >>> # wget "http://cdat.llnl.gov/cdat/sample_data/geos5-sample.nc" @@ -72,7 +72,7 @@ of an MV2.MaskedArray. The steps in this process are: The following example illustrates this process. The regridder function is generated at line 9, and the regridding is performed at line 10: -.. doctest:: +:: >>> # wget "http://cdat.llnl.gov/cdat/sample_data/clt.nc" >>> # wget "http://cdat.llnl.gov/cdat/sample_data/geos5-sample.nc" @@ -116,7 +116,7 @@ SCRIP Horizontal Regridder To interpolate between grids where one or both grids is non-rectangular, CDMS provides an interface to the SCRIP regridder package developed at -Los Alamos National Laboratory (http://oceans11.lanl.gov/trac/SCRIP). +Los Alamos National Laboratory (https://oceans11.lanl.gov/trac/SCRIP). Figure 3 illustrates the process: @@ -157,22 +157,22 @@ In this example: :: - &remap_inputs - num_maps = 1 - - grid1_file = 'remap_grid_T42.nc' - grid2_file = 'remap_grid_POP43.nc' - interp_file1 = 'rmp_T42_to_POP43_conserv.nc' - interp_file2 = 'rmp_POP43_to_T42_conserv.nc' - map1_name = 'T42 to POP43 Conservative Mapping' - map2_name = 'POP43 to T42 Conservative Mapping' - map_method = 'conservative' - normalize_opt = 'frac' - output_opt = 'scrip' - restrict_type = 'latitude' - num_srch_bins = 90 - luse_grid1_area = .false. - luse_grid2_area = .false. + >>> &remap_inputs + >>> num_maps = 1 + >>> + >>> grid1_file = 'remap_grid_T42.nc' + >>> grid2_file = 'remap_grid_POP43.nc' + >>> interp_file1 = 'rmp_T42_to_POP43_conserv.nc' + >>> interp_file2 = 'rmp_POP43_to_T42_conserv.nc' + >>> map1_name = 'T42 to POP43 Conservative Mapping' + >>> map2_name = 'POP43 to T42 Conservative Mapping' + >>> map_method = 'conservative' + >>> normalize_opt = 'frac' + >>> output_opt = 'scrip' + >>> restrict_type = 'latitude' + >>> num_srch_bins = 90 + >>> luse_grid1_area = .false. + >>> luse_grid2_area = .false. ``num_maps`` specifies the number of mappings generated, either 1 or 2. @@ -188,20 +188,20 @@ generate the remapping file ‘rmp\_T42\_to\_POP43\_conserv.nc’ :: - % scrip - Using latitude bins to restrict search. - Computing remappings between: - T42 Gaussian Grid - and - POP 4/3 Displaced-Pole T grid - grid1 sweep - grid2 sweep - Total number of links = 63112 + >>> % scrip + >>> Using latitude bins to restrict search. + >>> Computing remappings between: + >>> T42 Gaussian Grid + >>> and + >>> POP 4/3 Displaced-Pole T grid + >>> grid1 sweep + >>> grid2 sweep + >>> Total number of links = 63112 Next, run CDAT and create the regridder: -.. doctest:: +:: >>> # wget "http://cdat.llnl.gov/cdat/sample_data/remap_grid_POP43.nc" >>> # wget "http://cdat.llnl.gov/cdat/sample_data/remap_grid_T42.nc" @@ -217,7 +217,7 @@ Next, run CDAT and create the regridder: Then read the input data and regrid: -.. doctest:: +:: >>> # Get the source variable >>> f = cdms2.open('xieArkin-T42.nc') @@ -241,7 +241,7 @@ use the ``pressureRegrid`` function defined for variables. This function takes an axis representing the target set of pressure levels, and returns a new variable ``d`` regridded to that dimension. -.. doctest:: +:: >>> # wget "http://cdat.llnl.gov/cdat/sample_data/ta_ncep_87-6-88-4.nc" >>> f=cdms2.open("ta_ncep_87-6-88-4.nc") @@ -263,7 +263,7 @@ To regrid a variable which is a function of latitude, height, and arguments the new latitudes and heights, and returns the variable regridded to those axes. -.. doctest:: +:: >>> # wget "http://cdat.llnl.gov/cdat/sample_data/ta_ncep_87-6-88-4.nc" >>> f=cdms2.open("ta_ncep_87-6-88-4.nc") @@ -292,23 +292,26 @@ of CDMS, it is designed to work with CDMS objects. CDMS Horizontal Regridder ^^^^^^^^^^^^^^^^^^^^^^^^^ -.. doctest:: +:: from regrid2 import Regridder -makes the CDMS Regridder class available within a Python program. An +Makes the CDMS Regridder class available within a Python program. An instance of Regridder is a function which regrids data from rectangular input to output grids. -Table CDMS Regridder Constructor -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CDMS Regridder Constructor +~~~~~~~~~~~~~~~~~~~~~~~~~~ .. csv-table:: :header: "Constructor", "Description" :widths: 50, 90 :align: left - "``regridFunction = Regridder(inputGrid, outputGrid)``", "reate a regridder function which interpolates a data array from input to output grid. `CDMS regridder functions`_ describes the calling sequence of this function. ``inputGrid`` and ``outputGrid`` are CDMS grid objects. **Note:** To set the mask associated with inputGrid or outputGrid, use the grid setMask function." + "``regridFunction = Regridder(inputGrid, outputGrid)``", "Create a regridder function which interpolates a data array from input to output grid. + * `CDMS regridder functions`_ describes the calling sequence of this function. + * ``inputGrid`` and ``outputGrid`` are CDMS grid objects. + **Note:** To set the mask associated with inputGrid or outputGrid, use the grid setMask function." SCRIP Regridder ^^^^^^^^^^^^^^^ @@ -316,24 +319,25 @@ SCRIP Regridder SCRIP regridder functions are created with the ``regrid.readRegridder`` function: -Table SCRIP Regridder Constructor -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +SCRIP Regridder Constructor +~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. csv-table:: :header: "Constructor", "Description" :widths: 80, 90 :align: left - "``regridFunction = regrid.readRegridder(fileobj, mapMethod=None, checkGrid=1)``", "Read a regridder from an open CDMS file object." - "", "``fileobj`` is a CDMS file object, as returned from ``cdms.open``." - "", "``mapMethod`` is one of:" - "", "- ``'conservative'``: conservative remapper, suitable where area-integrated fields such as water or heat fluxes must be conserved." - "", "- ``'bilinear'``: bilinear interpolation" - "", "- ``'bicubic'``: bicubic interpolation" - "", "- ``'distwgt'``: distance-weighted interpolation." - "", "It is only necessary to specify the map method if it is not defined in the file." - "", "" - "", "If ``checkGrid`` is 1 (default), the grid cells are checked for convexity, and 'repaired' if necessary. Grid cells may appear to be nonconvex if they cross a ``0 / 2pi`` boundary. The repair consists of shifting the cell vertices to the same side modulo 360 degrees." + "``regridFunction = regrid.readRegridder(fileobj, mapMethod=None, checkGrid=1)``", "Read a regridder from an open CDMS file object. + * ``fileobj`` is a CDMS file object, as returned from ``cdms.open``. + * ``mapMethod`` is one of: + * ``'conservative'``: conservative remapper, suitable where area-integrated fields such as water or heat fluxes must be conserved. + * ``'bilinear'``: bilinear interpolation + * ``'bicubic'``: bicubic interpolation + * ``'distwgt'``: distance-weighted interpolation. + * It is only necessary to specify the map method if it is not defined in the file. + * If ``checkGrid`` is 1 (default), the grid cells are checked for convexity, and 'repaired' if necessary. + * Grid cells may appear to be nonconvex if they cross a ``0 / 2pi`` boundary. + * The repair consists of shifting the cell vertices to the same side modulo 360 degrees." Regridder Functions ^^^^^^^^^^^^^^^^^^^ @@ -399,25 +403,30 @@ data value, or 1.0e20 if undefined. The result array or transient variable will have a mask value of 1 (invalid value) for those output grid cells which completely overlap input grid cells with missing values -Table CDMS Regridder Function -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CDMS Regridder Function +~~~~~~~~~~~~~~~~~~~~~~~ .. csv-table:: :header: "Type", "Function", "Description" :widths: 40, 40, 80 :align: left - "Array or Transient-Variable", "``regridFunction(array, missing=None, order=None, mask=None)``", "Interpolate a gridded data array to a new grid. The interpolation preservesthe area-weighted mean on each horizontal slice. If array is a Variable, a TransientVariable of the same rank as the inputarrayisreturned, otherwiseamaskedarray is returned." - , , "``array`` is a Variable, masked array, or Numpy array of rank 2, 3, or 4." - , , - , , "For example, the string 'tzyx' indicates that the dimension order of ``array`` is (time, level, latitude, longitude). If unspecified, the function assumes that the last two dimensions of ``array`` match the input grid." - , , "- ``missing`` is a Float specifying the missing data value. The default is 1.0e20." - , , "- ``order`` is a string indicating the order of dimensions of the array. It has the form returned from ``variable.getOrder().``" - , , "- ``mask`` is a Numpy array, of datatype Integer or Float, consisting of a fractional number between 0 and 1. A value of 1 or 1.0 indicates that the corresponding data value is to be ignored for purposes of regridding. A value of 0 or 0.0 indicates that the corresponding data value is valid. This is consistent with the convention for masks used by the MV2 module. A fractional value between 0.0 and 1.0 indicates the fraction of the data value (e.g., the corresponding cell) to be ignored when regridding. This is useful if a variable is regridded first to grid A and then to another grid B; the mask when regridding from A to B would be (1.0 - f) where f is the maskArray returned from the initial grid operation using the ``returnTuple`` argument." - , , "If ``mask`` is two-dimensional of the same shape as the input grid, it overrides the mask of the input grid. If the mask has more than two dimensions, it must have the same shape as ``array``. In this case, the ``missing`` data value is also ignored. Such an ndimensional mask is useful if the pattern of missing data varies with level (e.g., ocean data) or time. Note: If neither ``missing`` or ``mask`` is set, the default mask is obtained from the mask of the array if any." - "Array, Array", "``regridFunction(ar, missing=None, order=None, mask=None, returnTuple=1)``", "If called with the optional ``returnTuple`` argument equal to 1, the function returns a tuple ``dataArray``, ``maskArray``)." - , , "``dataArray`` is the result data array." - , , "``maskArray`` is a Float32 array of the same shape as ``dataArray``, such that ``maskArray[i,j]`` is fraction of the output grid cell [i,j] overlapping a non-missing cell of the grid." + "Array or Transient-Variable", "``regridFunction(array, missing=None, order=None, mask=None)``", "Interpolate a gridded data array to a new grid. + The interpolation preserves the area-weighted mean on each horizontal slice. If array is a Variable, a TransientVariable of the same rank as the inputarrayisreturned, otherwiseamaskedarray is returned. + * ``array`` is a Variable, masked array, or Numpy array of rank 2, 3, or 4. + * For example, the string 'tzyx' indicates that the dimension order of ``array`` is (time, level, latitude, longitude). + * If unspecified, the function assumes that the last two dimensions of ``array`` match the input grid. + * ``missing`` is a Float specifying the missing data value. The default is 1.0e20. + * ``order`` is a string indicating the order of dimensions of the array. It has the form returned from ``variable.getOrder().`` + * ``mask`` is a Numpy array, of datatype Integer or Float, consisting of a fractional number between 0 and 1. + * A value of 1 or 1.0 indicates that the corresponding data value is to be ignored for purposes of regridding. + * A value of 0 or 0.0 indicates that the corresponding data value is valid. This is consistent with the convention for masks used by the MV2 module. + * A fractional value between 0.0 and 1.0 indicates the fraction of the data value (e.g., the corresponding cell) to be ignored when regridding. This is useful if a variable is regridded first to grid A and then to another grid B; the mask when regridding from A to B would be (1.0 - f) where f is the maskArray returned from the initial grid operation using the ``returnTuple`` argument. + * If ``mask`` is two-dimensional of the same shape as the input grid, it overrides the mask of the input grid. If the mask has more than two dimensions, it must have the same shape as ``array``. In this case, the ``missing`` data value is also ignored. Such an ndimensional mask is useful if the pattern of missing data varies with level (e.g., ocean data) or time. + **Note:** If neither ``missing`` or ``mask`` is set, the default mask is obtained from the mask of the array if any." + "Array, Array", "``regridFunction(ar, missing=None, order=None, mask=None, returnTuple=1)``", "If called with the optional ``returnTuple`` argument equal to 1, the function returns a tuple ``dataArray``, ``maskArray``). + * ``dataArray`` is the result data array. + * ``maskArray`` is a Float32 array of the same shape as ``dataArray``, such that ``maskArray[i,j]`` is fraction of the output grid cell [i,j] overlapping a non-missing cell of the grid." SCRIP Regridder Functions ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -426,7 +435,7 @@ A SCRIP regridder function is an instance of the ScripRegridder class. Such a function is created by calling the regrid.readRegridder method. Typical usage is straightforward: -.. doctest:: +:: >>> import cdms2 >>> import regrid2 @@ -442,7 +451,7 @@ Typical usage is straightforward: The bicubic regridder takes four arguments: -.. doctest:: +:: >>> # outdat = regridf(t42prc, gradlat, gradlon, gradlatlon) @@ -460,25 +469,37 @@ following fields: In addition, a conservative regridder has the associated grid cell areas for source and target grids. -Table SCRIP Regridder Functions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +SCRIP Regridder Functions +~~~~~~~~~~~~~~~~~~~~~~~~~ .. csv-table:: :header: "Return Type", "Method", "Description" :widths: 40, 40, 80 :align: left - "Array or Transient-Variable", "[conservative, bilinear, and distance-weighted regridders] ``regridFunction(array)``", "Interpolate a gridded data array to a new grid. The return value is the regridded data variable. ``array`` is a Variable, MaskedArray, or Numpy array. The rank of the array may be greater than the rank of the input grid, in which case the input grid shape must match a trailing portion of the array shape. For example, if the input grid is curvilinear with shape (64,128), the last two dimensions of the array must match. Similarly, if the input grid is generic with shape (2560,), the last dimension of the array must have that length." - "Array or Transient-Variable", "[bicubic regridders] ``regridFunction(array, gradientLat, gradientLon, gradientLatLon)``", "Interpolate a gridded data array to a new grid, using a bicubic regridder. The return value is the regridded data variable." - ,,"``array`` is a Variable, MaskedArray, or Numpy array. The rank of the array may be greater than the rank of the input grid, in which case the input grid shape must match a trailing portion of the array shape. For example, if the input grid is curvilinear with shape (64,128), the last two dimensions of the array must match. Simiarly, if the input grid is generic with shape (2560,), the last dimension of the array must have that length." - ,,"``gradientLat``: df/di (see the SCRIP documentation). Same shape as ``array``." - ,,"``gradientLon``: df/dj. Same shape as ``array``." - ,,"``gradientLatLon``: d(df)/(di)(dj). Same shape as array." - "Numpy array", "``getDestinationArea()`` [conservative regridders only]", "Return the area of the destination (output) grid cell. The array is 1-D, with length equal to the number of cells in the output grid." - "Numpy array", "``getDestinationFraction()``", "Return the area fraction of the destination (output) grid cell that participates in the regridding. The array is 1-D, with length equal to the number of cells in the output grid." + "Array or Transient-Variable", "[conservative, bilinear, and distance-weighted regridders] ``regridFunction(array)``", "Interpolate a gridded data array to a new grid. + The return value is the regridded data variable. + * ``array`` is a Variable, MaskedArray, or Numpy array. + * The rank of the array may be greater than the rank of the input grid, in which case the input grid shape must match a trailing portion of the array shape. + * For example, if the input grid is curvilinear with shape (64,128), the last two dimensions of the array must match. + * Similarly, if the input grid is generic with shape (2560,), the last dimension of the array must have that length." + "Array or Transient-Variable", "[bicubic regridders] ``regridFunction(array, gradientLat, gradientLon, gradientLatLon)``", "Interpolate a gridded data array to a new grid, using a bicubic regridder. + The return value is the regridded data variable. + * ``array`` is a Variable, MaskedArray, or Numpy array. + * The rank of the array may be greater than the rank of the input grid, in which case the input grid shape must match a trailing portion of the array shape. + * For example, if the input grid is curvilinear with shape (64,128), the last two dimensions of the array must match. + * Simiarly, if the input grid is generic with shape (2560,), the last dimension of the array must have that length. + * ``gradientLat``: df/di (see the SCRIP documentation). Same shape as ``array``. + * ``gradientLon``: df/dj. Same shape as ``array``. + * ``gradientLatLon``: d(df)/(di)(dj). Same shape as array." + "Numpy array", "``getDestinationArea()`` [conservative regridders only]", "Return the area of the destination (output) grid cell. + * The array is 1-D, with length equal to the number of cells in the output grid." + "Numpy array", "``getDestinationFraction()``", "Return the area fraction of the destination (output) grid cell that participates in the regridding. + * The array is 1-D, with length equal to the number of cells in the output grid." "CurveGrid or Generic-Grid", "``getInputGrid()``", "Return the input grid, or None if no input grid is associated with the regridder." "CurveGrid or Generic-Grid", "``getOutputGrid()``", "Return the output grid." - "Numpy array", "``getSourceFraction()``", "Return the area fraction of the source (input) grid cell that participates in the regridding. The array is 1-D, with length equal to the number of cells in the input grid" + "Numpy array", "``getSourceFraction()``", "Return the area fraction of the source (input) grid cell that participates in the regridding. + * The array is 1-D, with length equal to the number of cells in the input grid" Examples ^^^^^^^^ @@ -490,7 +511,7 @@ CDMS Regridder Regrid data to a uniform output grid. -.. doctest:: +:: >>> import cdms2 @@ -503,8 +524,8 @@ Regrid data to a uniform output grid. >>> newrls = regridFunc(cltf) >>> f.close() -Table Regridder Constructure -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Regridder Constructure +~~~~~~~~~~~~~~~~~~~~~~ .. csv-table:: :header: "Line", "Notes" @@ -523,7 +544,7 @@ the number of cells in the input grid. Get a mask from a separate file, and set as the input grid mask. -.. doctest:: +:: >>> # wget http://cdat.llnl.gov/cdat/sample_data/clt.nc >>> # wget http://cdat.llnl.gov/cdat/sample_data/geos5-sample.nc @@ -543,20 +564,16 @@ Get a mask from a separate file, and set as the input grid mask. >>> f.close() >>> g.close() +.. csv-table:: + :header: "Line", "Notes" + :widths: 8, 45 + + "7", "Get the input grid." + "10", "Get the output grid." + "11", "Create the regridder function." + "14", "Get the mask." + "15", "Regrid with a user mask. The subslice call returns a transient variable corresponding to variable sof at time 0." -+--------+-------------------------------------------------------------------------------------------------------------------+ -| Line | Notes | -+========+===================================================================================================================+ -| 7 | Get the input grid. | -+--------+-------------------------------------------------------------------------------------------------------------------+ -| 10 | Get the output grid | -+--------+-------------------------------------------------------------------------------------------------------------------+ -| 11 | Create the regridder function. | -+--------+-------------------------------------------------------------------------------------------------------------------+ -| 14 | Get the mask. | -+--------+-------------------------------------------------------------------------------------------------------------------+ -| 15 | Regrid with a user mask. The subslice call returns a transient variable corresponding to variable sof at time 0 | -+--------+-------------------------------------------------------------------------------------------------------------------+ **Note:** Although it cannot be determined from the code, both mask and the input array sof are four-dimensional. This is the n-dimensional @@ -568,15 +585,14 @@ case. Generate an array of zonal mean values. -.. doctest:: - - >>> f = cdms.open(‘rls_ccc_per.nc’) - >>> rlsf = f.variables[‘rls’] - >>> ingrid = rlsf.getGrid() - >>> outgrid = cdms.createZonalGrid(ingrid) - >>> regridFunc = Regridder(ingrid,outgrid) - >>> mean = regridFunc(rlsf) - >>> f.close() +:: + >>> f = cdms.open(‘rls_ccc_per.nc’) + >>> rlsf = f.variables[‘rls’] + >>> ingrid = rlsf.getGrid() + >>> outgrid = cdms.createZonalGrid(ingrid) + >>> regridFunc = Regridder(ingrid,outgrid) + >>> mean = regridFunc(rlsf) + >>> f.close() @@ -597,7 +613,7 @@ Generate an array of zonal mean values. Regrid an array with missing data, and calculate the area-weighted mean of the result. -.. doctest:: +:: >>> import cdms2 >>> from cdms2.MV2 import * @@ -653,7 +669,7 @@ Regrid from a curvilinear to a generic grid, using a conservative remapping. Compute the area-weighted means on input and output for comparison. -.. doctest:: +:: >>> # wget "http://cdat.llnl.gov/cdat/sample_data/remap_grid_T42.nc" >>> # wget http://cdat.llnl.gov/cdat/sample_data/rmp_T42_to_C02562_conserv.nc diff --git a/docs/source/manual/cdms_5.rst b/docs/source/manual/cdms_5.rst index 9abdfc73..e7594194 100644 --- a/docs/source/manual/cdms_5.rst +++ b/docs/source/manual/cdms_5.rst @@ -30,7 +30,7 @@ Plotting a Gridded Variable import requests fnames = [ 'clt.nc', 'geos-sample', 'xieArkin-T42.nc', 'remap_grid_POP43.nc', 'remap_grid_T42.nc', 'rmp_POP43_to_T42_conserv.n', 'rmp_T42_to_POP43_conserv.nc', 'ta_ncep_87-6-88-4.nc', 'rmp_T42_to_C02562_conserv.nc' ] for file in fnames: - url = 'http://uvcdat.llnl.gov/cdat/sample_data/'+file + url = 'https://cdat.llnl.gov/cdat/sample_data/'+file r = requests.get(url) open(file, 'wb').write(r.content) @@ -42,8 +42,10 @@ Plotting a Gridded Variable os.remove(file) +**Example:** + Plotting a gridded variable -.. doctest:: Example: plotting a gridded variable +:: >>> import cdms2, vcs >>> f = cdms2.open("clt.nc") @@ -75,7 +77,7 @@ fill in the extra plot information. Using A Plot Keywords ^^^^^^^^^^^^^^^^^^^^^ -.. doctest:: +:: >>> import cdms2, vcs >>> f = cdms2.open("clt.nc") @@ -95,7 +97,7 @@ Plotting a Time-Latitude Slice Assuming that variable ``clt`` has domain ``(time,latitude,longitude)``, this example selects and plots a time-latitude slice: -.. doctest:: +:: >>> import cdms2, vcs >>> f = cdms2.open("clt.nc") @@ -119,7 +121,7 @@ Plotting Subsetted Data Calling the variable ``clt`` as a function reads a subset of the variable. The result variable ``samp`` can be plotted directly: -.. doctest:: +:: >>> import cdms2, vcs >>> f = cdms2.open("clt.nc") @@ -147,18 +149,23 @@ where: - array is a variable, masked array, or Numpy array having between two and five dimensions. The last dimensions of the array is termed the 'x' dimension, the next-to-last the 'y' dimension, then 'z', 't', - and 'w'. For example, if array is three-dimensional, the axes are - (z,y,x), and if array is four-dimensional, the axes are (t,z,y,x). - (Note that the t dimension need have no connection with time; any - spatial axis can be mapped to any plot dimension. For a graphics - method which is two-dimensional, such as boxfill, the y-axis is - plotted on the horizontal, and the x-axis on the vertical. + and 'w'. + + - For example, if array is three-dimensional, the axes are + (z,y,x), and if array is four-dimensional, the axes are (t,z,y,x). + + **Note:** that the t dimension need have no connection with time; any + spatial axis can be mapped to any plot dimension.) - If array is a gridded variable on a rectangular grid, the plot - function uses a box-fill graphics method. If it is non-rectangular, - the meshfill graphics method is used. + - For a graphics method which is two-dimensional, such as boxfill, + the y-axis is plotted on the horizontal, and the x-axis on the vertical. - Note that some plot keywords apply only to rectangular grids only. + - If array is a gridded variable on a rectangular grid, the plot + function uses a box-fill graphics method. + + - If it is non-rectangular, the meshfill graphics method is used. + + **Note:** that some plot keywords apply only to rectangular grids only. - args are optional positional arguments: @@ -177,8 +184,8 @@ where: - ``key=value``, ... are optional keyword/value pairs, listed in any order. These are defined in the table below. -Table Plot Keywords -^^^^^^^^^^^^^^^^^^^ +Plot Keywords +^^^^^^^^^^^^^^ .. csv-table:: :header: "Key", "Type", "Value" @@ -187,28 +194,46 @@ Table Plot Keywords "``comment1``", "string", "Comment plotted above ``file_comment``" "``comment2``", "string", "Comment plotted above ``comment1``" "``comment3``", "string", "Comment plotted above ``comment2``" - "``continents``", "0 or 1", "if ``1``, plot continental outlines (default:plot if ``xaxis`` is longitude, ``yaxis`` is latitude -or- ``xname`` is 'longitude' and ``yname`` is 'latitude'" - "``file_comment``", "string", "Comment, defaults to ``variable.parent.comment``" - "``grid``", "CDMS grid object", "Grid associated with the data. Defaults to ``variable.getGrid()``" + "``continents``", "0 or 1", "if ``1``, plot continental outlines (default:plot if + * ``xaxis`` is longitude, + * ``yaxis`` is latitude -or- ``xname`` is 'longitude' and ``yname`` is 'latitude'" + "``file_comment``", "string", "Comment, + * Defaults to ``variable.parent.comment``" + "``grid``", "CDMS grid object", "Grid associated with the data. + * Defaults to ``variable.getGrid()``" "``hms``", "string", "Hour, minute, second" - "``long_name``", "string", "Descriptive variable name, defaults to ``variable.long_name``." - "``missing_value``", "same type as array", "Missing data value, defaults to ``variable.getMissing()``" - "``name``", "string", "Variable name, defaults to ``variable.id``" - "``time``", "cdtime relative or absolute", "Time associated with the data." - ,,"Example:" - ,,"- ``cdtime.reltime(30.0, 'days since 1978-1-1').``" - "``units``", "string", "Data units. Defaults to ``variable.units``" - "``variable``", "CDMS variable object", "Variable associated with the data. The variable grid must have the same shape as the data array." - "``xarray`` (``[y|z|t|w]array``)", "1-D Numpy array", "*Rectangular grids only*. Array of coordinate values, having the same length as the corresponding dimension. Defaults to ``xaxis[:\] (y|z|t|waxis[:])``" - "``xaxis`` (``[y|z|t|w]axis``)", "CDMS axis object", "*Rectangular grids only*. Axis object. ``xaxis`` defaults to ``grid.getAxis(0)``, ``yaxis`` defaults to ``grid.getAxis(1)``" - "``xbounds`` (``ybounds``)", "2-D Numpy array", "*Rectangular grids only*. Boundary array of shape ``(n,2)`` where ``n`` is the axis length. Defaults to ``xaxis.getBounds()``, or ``xaxis.genGenericBounds()`` if ``None``, similarly for ``ybounds``." - - "``xname`` (``[y|z|t|w]name``)", "string", "*Rectangular grids only*. Axis name. Defaults to ``xaxis.id`` (``[y|z|t|w]axis.id``)" - "``xrev`` (``yrev``)", "0 or 1", "If ``xrev`` (``yrev``) is 1, reverse the direction of the ``x-axis (y-axis)``. Defaults to 0, with the following exceptions:" - ,,"- If the ``y-axis`` is latitude, and has decreasing values, ``yrev`` defaults to 1" - ,,"- If the ``y-axis`` is a vertical level, and has increasing pressure levels, ``yrev`` defaults to 1." - - "``xunits`` (``[y|z|t|w]units``)", "string", "*Rectangular grids only*. Axis units. Defaults to ``xaxis.units`` (``[y|z|t|w]axis.units``)." + "``long_name``", "string", "Descriptive variable name, + * Defaults to ``variable.long_name``." + "``missing_value``", "same type as array", "Missing data value, + * Defaults to ``variable.getMissing()``" + "``name``", "string", "Variable name, + * Defaults to ``variable.id``" + "``time``", "cdtime relative or absolute", "Time associated with the data. + Example: + * ``cdtime.reltime(30.0, 'days since 1978-1-1').``" + "``units``", "string", "Data units. + * Defaults to ``variable.units``" + "``variable``", "CDMS variable object", "Variable associated with the data. + * The variable grid must have the same shape as the data array." + "``xarray`` (``[y|z|t|w]array``)", "1-D Numpy array", "*Rectangular grids only*. + * Array of coordinate values, having the same length as the corresponding dimension. + * Defaults to ``xaxis[:\] (y|z|t|waxis[:])``" + "``xaxis`` (``[y|z|t|w]axis``)", "CDMS axis object", "*Rectangular grids only*. + Axis object. + * ``xaxis`` defaults to ``grid.getAxis(0)`` + * ``yaxis`` defaults to ``grid.getAxis(1)``" + "``xbounds`` (``ybounds``)", "2-D Numpy array", "*Rectangular grids only*. + * Boundary array of shape ``(n,2)`` where ``n`` is the axis length. + * Defaults to ``xaxis.getBounds()``, or ``xaxis.genGenericBounds()`` if ``None``, similarly for ``ybounds``." + "``xname`` (``[y|z|t|w]name``)", "string", "*Rectangular grids only*. + Axis name. + * Defaults to ``xaxis.id`` (``[y|z|t|w]axis.id``)" + "``xrev`` (``yrev``)", "0 or 1", "If ``xrev`` (``yrev``) is 1, reverse the direction of the ``x-axis (y-axis)``. + * Defaults to 0, with the following exceptions: + * If the ``y-axis`` is latitude, and has decreasing values, ``yrev`` defaults to 1 + * If the ``y-axis`` is a vertical level, and has increasing pressure levels, ``yrev`` defaults to 1." + "``xunits`` (``[y|z|t|w]units``)", "string", "*Rectangular grids only*. Axis units. + * Defaults to ``xaxis.units`` (``[y|z|t|w]axis.units``)." diff --git a/docs/source/manual/cdms_6.rst b/docs/source/manual/cdms_6.rst index 2bc9e8fc..733a7289 100644 --- a/docs/source/manual/cdms_6.rst +++ b/docs/source/manual/cdms_6.rst @@ -6,7 +6,7 @@ Introduction The Climate Data Markup Language (CDML) is the markup language used to represent metadata in CDMS. CDML is based on the W3C XML standard -(http://www.w3.org). This chapter defines the syntax of CDML. Read this +(https://www.w3.org). This chapter defines the syntax of CDML. Read this section if you will be building or maintaining a CDMS database. XML, the eXtensible Markup Language, makes it possible to define @@ -44,14 +44,13 @@ where - ``element-content`` depends on the type of element. It is either a list of elements, or text which defines the element values. For example, the content of an axis element either is a list of axis - values, or is a linear element. For datasets, the content is the - blank-separated list of elements corresponding to the axes, grids, - and variables contained in the dataset. + values, or is a linear element. +- For datasets, the content is the blank-separated list of elements corresponding to the axes, grids, and variables contained in the dataset. The CDML elements are: -Table CDML Tags -^^^^^^^^^^^^^^^^^^^ +CDML Tags +^^^^^^^^^ +------------+---------------------------------------+ | Tag | Description | @@ -77,8 +76,8 @@ Special Characters XML reserves certain characters for markup. If they appear as content, they must be encoded to avoid confusion with markup: -Table Special Character Encodings -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Special Character Encodings +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +-------------+------------+ @@ -122,7 +121,7 @@ on the length of an identifier. CF Metadata Standard ~~~~~~~~~~~~~~~~~~~~ -`The CF metadata standard `__ defines a set +`The CF metadata standard `__ defines a set of conventions for usage of netCDF. This standard is supported by CDML. The document defines names and usage for metadata attributes. CF supersedes the GDT 1.3 standard. @@ -145,11 +144,11 @@ element. The prolog defines the XML version, and the Document Type Definition (DTD), a formal specification of the document syntax. -See http://www.w3.org/TR/1998/REC-xml-19980210 for a formal definition of XML +See https://www.w3.org/TR/1998/REC-xml-19980210 for a formal definition of XML Version 1.0. -``prolog ::= `` +``prolog ::= `` Dataset Element ^^^^^^^^^^^^^^^ @@ -171,9 +170,9 @@ Dataset Attributes :widths: 10,5,5,5,80 "appendices", "N", "N", "Y", "Version number" - "calendar", "N", "N", "Y", "Calendar used for encoding time axes." - ,,,,"``gregorian`` \| ``julian`` \| ``noleap`` \|\ ``360_day`` \| ``proleptic_gregorian`` \| ``standard``" - ,,,,"Note: for the CF convention, the calendar attribute is placed on the time axis." + "calendar", "N", "N", "Y", "Calendar used for encoding time axes. + * ``gregorian`` \| ``julian`` \| ``noleap`` \|\ ``360_day`` \| ``proleptic_gregorian`` \| ``standard`` + **Note:** for the CF convention, the calendar attribute is placed on the time axis." "comment", "N", "Y", "Y", "Additional dataset information" "conventions", "Y", "Y", "Y", "The netCDF metadata standard. Example: 'CF-1.0'" "cdms_filemap", "Y", "N", "N", "Map of partitioned axes to files. See note below." @@ -236,20 +235,20 @@ length). ``linear-element ::=`` ** ** -Table Axis Elements -^^^^^^^^^^^^^^^^^^^ +Axis Elements +^^^^^^^^^^^^^ .. csv-table:: :header: "Attribute", "Required?", "CF", "GDT", "Notes" :widths: 18,1,1,1,80 "``associate``", "N", "N", "Y", "IDs of variables containing alternative sets of coordinates." - "``axis``", "N", "Y", "Y", "The spatial type of the axis:" - ,,,,"- 'T' - time" - ,,,,"- 'X' - longitude" - ,,,,"- 'Y' - latitude" - ,,,,"- 'Z' - vertical level" - ,,,,"- '-' - not spatiotemporal" + "``axis``", "N", "Y", "Y", "The spatial type of the axis: + * 'T' - time + * 'X' - longitude + * 'Y' - latitude + * 'Z' - vertical level + * '-' - not spatiotemporal" "``bounds``", "N", "Y", "Y", "ID of the boundary variable" "``calendar``", "N", "Y", "N", "See dataset.calendar" "``climatology``", "N", "Y", "N", "Range of dates to which climatological statistics apply." @@ -260,9 +259,9 @@ Table Axis Elements "``expand``", "N", "N", "Y", "Coordinates prior to contraction" "``formula_terms``", "N", "Y", "N", "Variables that correspond to the terms in a formula." "``id``", "Y", "N", "N", "Axis identifier. Also the name of the axis in the underlying file(s), if name_in_file is undefined." - "``isvar``", "N", "N", "N", "* 'true' | 'false'" - ,,,,"- 'false' if the axis does not have coordinate values explicitly defined in the underlying file(s)." - ,,,,"- Default: 'true'" + "``isvar``", "N", "N", "N", "'true' | 'false' + * 'false' if the axis does not have coordinate values explicitly defined in the underlying file(s). + * Default: 'true'" "``leap_month``", "N", "Y", "N", "For a user-defined calendar, the month which is lengthened by a day in leap years." "``leap_year``", "N", "Y", "N", "An example of a leap year for a user-defined calendar. All years that differ from this year by a multiple of four are leap years." "``length``", "N", "N", "N", "Number of axis values, including values for which no data is defined. Cf. partition_length." @@ -274,8 +273,8 @@ Table Axis Elements "``partition_length``", "N", "N", "N", "Number of axis points for which data is actually defined. If data is missing for some values, this will be smaller than the length." "``positive``", "N", "Y", "Y", "Direction of positive for a vertical axis" "``standard_name``", "N", "Y", "N", "Reference to an entry in the standard name table." - "``topology``", "N", "N", "Y", "- Axis topology." - ,,,,"- 'circular' | 'linear'" + "``topology``", "N", "N", "Y", "Axis topology. + * 'circular' | 'linear'" "``units``", "Y", "Y", "Y", "Units of a physical quantity" "``weights``", "N", "N", "N", "Name of the weights array" @@ -314,8 +313,8 @@ rectilinear in topology, ``grid-element ::=`` **** ``extra-attribute-element*`` **** -Table 6.5 RectGrid Attributes -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6.5 RectGrid Attributes +^^^^^^^^^^^^^^^^^^^^^^^ .. raw:: html @@ -370,8 +369,8 @@ start=\ **"``Integer``" **\ length=\ **"``Integer``" **\ partition\_length=\ **"``Integer``"**/>\*\* -Table Variable Attributes -^^^^^^^^^^^^^^^^^^^^^^^^^ +Variable Attributes +^^^^^^^^^^^^^^^^^^^ .. csv-table:: @@ -441,7 +440,7 @@ Dataset "sample" has two variables, and six axes. -.. raw:: html +:: @@ -449,62 +448,62 @@ Dataset "sample" has two variables, and six axes. :: - - - [ 0. 11.25 22.5 33.75 45. 56.25 67.5 78.75 90. - - 101.25 112.5 123.75 135. 146.25 157.5 168.75 180. 191.25 - - 202.5 213.75 225. 236.25 247.5 258.75 270. 281.25 292.5 - - 303.75 315. 326.25 337.5 348.75] - - - - - [ 0. 366. 731.] - - - - - - - - - - - - - - - - - - - {% endhighlight %} + >>> >> id ="longitude" + >>> length="32" + >>> units="degrees_east" + >>> datatype="Double" + >>> > + >>> + >>> [ 0. 11.25 22.5 33.75 45. 56.25 67.5 78.75 90. + >>> + >>> 101.25 112.5 123.75 135. 146.25 157.5 168.75 180. 191.25 + >>> + >>> 202.5 213.75 225. 236.25 247.5 258.75 270. 281.25 292.5 + >>> + >>> 303.75 315. 326.25 337.5 348.75] + >>> + >>> + >>> >> id ="time" + >>> partition="[0 1 1 2 2 3]" + >>> calendar="gregorian" + >>> units="days since 2000-1-1" + >>> datatype="Double" + >>> length="3" + >>> name_in_file="time" + >>> > + >>> + >>> [ 0. 366. 731.] + >>> + >>> + >>> >> id ="u" + >>> missing_value="-99.9" + >>> units="m/s" + >>> datatype="Double" + >>> > + >>> + >>> + >>> + >>> + >>> + >>> + >>> + >>> >> id ="v" + >>> missing_value="-99.9" + >>> units="m/s" + >>> datatype="Double" + >>> > + >>> + >>> + >>> + >>> + >>> + >>> + >>> + >>> {% endhighlight %} diff --git a/docs/source/manual/cdms_7.rst b/docs/source/manual/cdms_7.rst index 0e311778..16d17804 100644 --- a/docs/source/manual/cdms_7.rst +++ b/docs/source/manual/cdms_7.rst @@ -23,10 +23,13 @@ CDMS assumes that there is some regularity in how datasets are partitioned: - A variable can be partitioned (split across files) in at most two - dimensions. The partitioned dimension(s) must be either time or + dimensions. +- The partitioned dimension(s) must be either time or vertical level dimensions; variables may not be partitioned across - longitude or latitude. Datasets can be parti-tioned by variable as - well. For example, one set of files might contain heat fluxes, while + longitude or latitude. +- Datasets can be parti-tioned by variable as + well. +- For example, one set of files might contain heat fluxes, while another set contains wind speeds. Otherwise, there is considerable flexibility in how a dataset can be @@ -60,57 +63,91 @@ where Output is written to standard output by default. Use the -x option to specify an output filename. -Table CDScan Command Options -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +CDScan Command Options +^^^^^^^^^^^^^^^^^^^^^^ .. csv-table:: :header: "Option:, "Description" :widths: 20, 80 - "``-a alias_file``", "Change variable names to the aliases defined in an alias file. Each line of the alias file consists of two blank separated fields: ``variable_id alias``. ``variable_id`` is the ID of the variable in the file, and ``alias`` is the name that will be substituted for it in the output dataset. Only variables with entries in the ``alias_file`` are renamed." - "``-c calendar``", "Specify the dataset calendar attribute. One of:" - , "- gregorian (default)" - , "- julian" - , "- noleap" - , "- proleptic_gregorian" - , "- standard" - , "- 360_day" - "``-d dataset_id``", "String identifier of the dataset. Should not contain blanks or non-printing characters. Default: 'None'" - "``-e newattr``", "Add or modify attributes of a file, variable, or axis." - ,"- The form of ``newattr`` is either:" - ," - ``var.attr = value`` to modify a variable or attribute, or" - ," - ``.attr = value`` to modify a global (file) attribute. In either case, value may be quoted to preserve spaces or force the attribute to be treated as a string. If value is not quoted and the first character is a digit, it is converted to integer or floating-point. This option does not modify the input datafiles. See notes and examples below." - "``--exclude var,var,...``", "Exclude specified variables. The argument is a comma-separated list of variables containing no blanks. Also see ``--include``." + "``-a alias_file``", "Change variable names to the aliases defined in an alias file. + - Each line of the alias file consists of two blank separated fields: + * ``variable_id alias``. + * ``variable_id`` is the ID of the variable in the file, and + * ``alias`` is the name that will be substituted for it in the output dataset. + * Only variables with entries in the ``alias_file`` are renamed." + "``-c calendar``", "Specify the dataset calendar attribute. + - One of: + * gregorian (default) + * julian + * noleap + * proleptic_gregorian + * standard + * 360_day" + "``-d dataset_id``", "String identifier of the dataset. + * Should not contain blanks or non-printing characters. + * Default: 'None'" + "``-e newattr``", "Add or modify attributes of a file, variable, or axis. + - The form of ``newattr`` is either: + * ``var.attr = value`` to modify a variable or attribute, or + * ``.attr = value`` to modify a global (file) attribute. + * In either case, value may be quoted to preserve spaces or force the attribute to be treated as a string. + * If value is not quoted and the first character is a digit, it is converted to integer or floating-point. This option does not modify the input datafiles. See notes and examples below." + "``--exclude var,var,...``", "Exclude specified variables. + * The argument is a comma-separated list of variables containing no blanks. + * Also see ``--include``." "``-f file_list``", "File containing a list of absolute data file names, one per line." "``-h``", "Print a help message." - "``-i time_delta``", "Causes the time dimension to be represented as linear, producing a more compact representation. This is useful if the time dimension is very long. ``time_delta`` is a float or integer. For example, if the time delta is 6 hours, and the reference units are ``hours since xxxx`` , set the time delta to 6. See the ``-r`` option. See Note 2." - "``--include var,var,...``", "Only include specified variables in the output. The argument is a comma-separated list of variables containing no blanks. Also see ``--exclude``." - "``-j``", "Scan time as a vector dimension. Time values are listed individually." - ,"- **Note:** Turns off the -i option." - "``-l levels``", "Specify that the files are partitioned by vertical level. That is, data for different vertical levels may appear in different files. ``levels`` is a comma-separated list of levels containing no blanks. See Note 3." - "``-m levelid``", "Name of the vertical level dimension. The default is the vertical dimension as determined by CDMS. See Note 3." - "``-p template``", "Add a file template string, for compatibility with pre-V3.0 datasets. ``cdimport -h`` describes template strings." + "``-i time_delta``", "Causes the time dimension to be represented as linear, producing a more compact representation. + - This is useful if the time dimension is very long. + * ``time_delta`` is a float or integer. + * For example, if the time delta is 6 hours, and the reference units are ``hours since xxxx`` , set the time delta to 6. See the ``-r`` option. See Note 2." + "``--include var,var,...``", "Only include specified variables in the output. + * The argument is a comma-separated list of variables containing no blanks. + * Also see ``--exclude``." + "``-j``", "Scan time as a vector dimension. + * Time values are listed individually. + **Note:** Turns off the -i option." + "``-l levels``", "Specify that the files are partitioned by vertical level. That is, data for different vertical levels may appear in different files. + * ``levels`` is a comma-separated list of levels containing no blanks. + * See Note 3." + "``-m levelid``", "Name of the vertical level dimension. + * The default is the vertical dimension as determined by CDMS. + * See Note 3." + "``-p template``", "Add a file template string, for compatibility with pre-V3.0 datasets. + * ``cdimport -h`` describes template strings." "``-q``", "Quiet mode." - "``-r time_units``", "Time units of the form ``units since yyyy-mm-dd hh:mi:ss``, where ``units`` is one of 'year', 'month', 'day', 'hour', 'minute', 'second'." - "``-s suffix_file``", "Append a suffix to variable names, depending on the directory containing the data file. This can be used to distinguish variables having the same name but generated by different models or ensemble runs. ``suffix_file`` is the name of a file describing a mapping between directories and suffixes. Each line consists of two blank-separated fields: ``directory suffix``. Each file path is compared to the directories in the suffix file. If the file path is in that directory or a subdirectory, the corresponding suffix is appended to the variable IDs in the file. If more than one such directory is found, the first directory found is used. If no match is made, the variable ids are not altered. Regular expressions can be used: see the example in the Notes section." - "``-t timeid``", "ID of the partitioned time dimension. The default is the name of the time dimension as determined by CDMS. See Note 1." - "``--time-linear tzero,delta,units[,calendar]``", "Override the time dimensions(s) with a linear time dimension. The arguments are comma-separated list:" - , "- zero is the initial time point, a floating-point value." - , "- delta is the time delta, floating-point." - , "- units are time units as specified in the [-r] option." - , "- calendar is optional, and is specified as in the [-c] option." - , "If omitted, it defaults to the value specified by [-c], otherwise as specified in the file." - , "**Example:** ``--time-linear '0,1,months since 1980,noleap'``" + "``-r time_units``", "Time units of the form ``units since yyyy-mm-dd hh:mi:ss``, where: + * ``units`` is one of 'year', 'month', 'day', 'hour', 'minute', 'second'." + "``-s suffix_file``", "Append a suffix to variable names, depending on the directory containing the data file. + This can be used to distinguish variables having the same name but generated by different models or ensemble runs. + * ``suffix_file`` is the name of a file describing a mapping between directories and suffixes. + * Each line consists of two blank-separated fields: ``directory suffix``. + * Each file path is compared to the directories in the suffix file. + * If the file path is in that directory or a subdirectory, the corresponding suffix is appended to the variable IDs in the file. + * If more than one such directory is found, the first directory found is used. + * If no match is made, the variable ids are not altered. Regular expressions can be used: see the example in the Notes section." + "``-t timeid``", "ID of the partitioned time dimension. + * The default is the name of the time dimension as determined by CDMS. + * See Note 1." + "``--time-linear tzero,delta,units[,calendar]``", "Override the time dimensions(s) with a linear time dimension. + The arguments are comma-separated list: + * zero is the initial time point, a floating-point value. + * delta is the time delta, floating-point. + * units are time units as specified in the [-r] option. + * calendar is optional, and is specified as in the [-c] option. + * If omitted, it defaults to the value specified by [-c], otherwise as specified in the file. + **Example:** ``--time-linear '0,1,months since 1980,noleap'``" "``-x xmlfile``", "Output file name. By default, output is written to standard output." **Notes:** -- Files can be in netCDF, GrADS/GRIB, HDF, or DRS format, and can be listed in any order. Most commonly, the files are the result of a single experiment, and the 'partitioned' dimension is time. The time dimension of a variable is the coordinate variable having a name that starts with 'time' or having an attribute axis='T'. If this is not the case, specify the time dimension with the -t option. The time dimension should be in the form supported by cdtime. If this is not the case (or to override them) use the -r option. +#. Files can be in netCDF, GrADS/GRIB, HDF, or DRS format, and can be listed in any order. Most commonly, the files are the result of a single experiment, and the 'partitioned' dimension is time. The time dimension of a variable is the coordinate variable having a name that starts with 'time' or having an attribute axis='T'. If this is not the case, specify the time dimension with the -t option. The time dimension should be in the form supported by cdtime. If this is not the case (or to override them) use the -r option. -- By default, the time values are listed explicitly in the output XML. This can cause a problem if the time dimension is very long, say for 6-hourly data. To handle this the form cdscan -i delta may be used. This generates a compact time representation of the form . An exception is raised if the time dimension for a given file is not linear. +#. By default, the time values are listed explicitly in the output XML. This can cause a problem if the time dimension is very long, say for 6-hourly data. To handle this the form cdscan -i delta may be used. This generates a compact time representation of the form . An exception is raised if the time dimension for a given file is not linear. -- Another form of the command is cdscan -l lev1,lev2,..,levn . This asserts that the dataset is partitioned in both time and vertical level dimensions. The level dimension of a variable is the dimension having a name that starts with "lev", or having an attribute "axis=Z". If this is not the case, set the level name with the -m option. +#. Another form of the command is cdscan -l lev1,lev2,..,levn . This asserts that the dataset is partitioned in both time and vertical level dimensions. The level dimension of a variable is the dimension having a name that starts with "lev", or having an attribute "axis=Z". If this is not the case, set the level name with the -m option. - Adding or modifying attributes with the -e option: - time.units = "days since 1979-1-1" diff --git a/docs/source/manual/cdms_appendix.rst b/docs/source/manual/cdms_appendix.rst index af76da90..2b665fbf 100644 --- a/docs/source/manual/cdms_appendix.rst +++ b/docs/source/manual/cdms_appendix.rst @@ -4,7 +4,7 @@ APPENDIX A CDMS Classes ~~~~~~~~~~~~ -Figure 1, "CDMS Classes", on page 175 illustrates the class inheritance +Figure 1, "CDMS Classes", illustrates the class inheritance structure of CDMS. The classes may be categorized as abstract or concrete. Only concrete classes are meant to be used directly. In contrast an abstract class defines the common interface of its @@ -30,10 +30,12 @@ applications to treat the behavior of, say a dataset axis and file axis, as identical. .. figure:: /images/cdms_classes.jpg + :scale: 95% :alt: FIGURE 1. CDMS Classes - + + @@ -66,13 +68,28 @@ Release 4.0 CDMS version 4.0 adds support for nonrectangular grids: -- The following grid classes were added: AbstractHorizontalGrid, - AbstractCurve-Grid, AbstractGenericGrid, DatasetCurveGrid, - FileCurveGrid, TransientCurve-Grid, DatasetGenericGrid, - FileGenericGrid, and TransientGenericGrid. -- The following axis classes were added: AbstractCoordinateAxis, - AbstractAuxAxis1D, AbstractAxis2D, DatasetAuxAxis1D, FileAuxAxis1D, - TransientAuxAxis1D, DatasetAxis2D, FileAxis2D, and TransientAxis2D. +- The following grid classes were added: + * AbstractHorizontalGrid + * AbstractCurve-Grid + * AbstractGenericGrid + * DatasetCurveGrid + * FileCurveGrid + * TransientCurve-Grid + * DatasetGenericGrid + * FileGenericGrid + * TransientGenericGrid. + +- The following axis classes were added: + * AbstractCoordinateAxis + * AbstractAuxAxis1D + * AbstractAxis2D + * DatasetAuxAxis1D + * FileAuxAxis1D, + * TransientAuxAxis1D + * DatasetAxis2D + * FileAxis2D + * TransientAxis2D. + - The getMesh and clone methods were added for grids. - An interface to the SCRIP package was added. @@ -111,8 +128,6 @@ Details AbstractVariable '''''''''''''''' -- Functions getDomain, getSlice, rank, regrid, setMissing, size, - subRegion, and subSlice were added. - The functions getRegion, getSlice, getValue, and the slice operators all return an instance of MV, a masked array. Singleton dimensions are squeezed. @@ -122,17 +137,18 @@ AbstractVariable latitude, and longitude. - The input functions have the keyword squeeze. - AbstractVariable inherits from class Slab. The following functions - previously available in module cu are Slab methods: getattribute, - setattribute, listdimattributes, getdimattribute, listall, and info. + previously available in module cu are Slab methods: + * getattribute + * setattribute + * listdimattributes + * getdimattribute + * listall, and info - AbstractVariable implements arithmetic functions, astype. - The write function was added. AbstractAxis '''''''''''' -- The functions asComponentTime, asRelativeTime, clone, getAxisIds, - getAxis-Index, getAxisList, getAxisListIndex, mapIntervalExt were - added. - subaxis was renamed subAxis for consistency. - Generalized wraparound was implemented, to handle multiple cycles, reversing, and negative strides. By default, coordinate intervals are @@ -152,7 +168,10 @@ Dataset cdms module ''''''''''' -- The functions asVariable, isVariable, and createVariable were added. +- The following functions were added: + * asVariable + * isVariable + * createVariable - The function setAutoReshapeMode was removed. It is replaced by the squeeze option for all I/O functions. @@ -176,9 +195,12 @@ AbstractRectGrid InternalAttributes '''''''''''''''''' -- The class InternalAttributes was added. It has methods - add\_internal\_attribute, is\_internal\_attribute, and - replace\_external\_attributes. +- The class InternalAttributes was added. +- It has methods: + + * add\_internal\_attribute + * is\_internal\_attribute + * replace\_external\_attributes TransientVariable ''''''''''''''''' @@ -218,12 +240,23 @@ Table Slab Methods :widths: 20,50,80 :align: left - "Various", "``getdimattribute(dim, field)``", "Get the value of a dimension attribute. ``dim`` is the dimension number, an integer in the range 0..rank- 1. ``field`` is a string, one of: 'name', 'values', 'length', 'units', 'weights', 'bounds'." - "Various", "``getattribute(name)``", "Get the value of an attribute.``name`` is the string name of the attribute. The following special names can always be used: 'filename', 'comments', 'grid_name', 'grid_type', 'time_statistic', 'long_name', 'units'." - "None", "``info(flag=None, device=sys.stdout)``", "Print slab information. If ``flag`` is nonzero, dimension values, weights, and bounds are also printed. Output is sent to ``device``." - "List", "``listall(all=None)``", "Print slab information. If ``all`` is nonzero, dimension values, weights, and bounds are also printed." - "List", "``listdimattributes(dim, field)``", "List dimension attributes. Returns a list of string attribute names which can be input to ``getdimattribute``. ``dim`` is the dimension number, an integer in the range 0..rank-1. ``field`` is a string, one of: 'name', 'values', 'length', 'units', 'weights', 'bounds'." - "None", "``setattribute(name, value)``", "Set an attribute. ``name`` is the string name of the attribute. ``value`` is the value of the attribute." + "Various", "``getdimattribute(dim, field)``", "Get the value of a dimension attribute. + * ``dim`` is the dimension number, an integer in the range 0..rank- 1. + * ``field`` is a string, one of: 'name', 'values', 'length', 'units', 'weights', 'bounds'." + "Various", "``getattribute(name)``", "Get the value of an attribute. + * ``name`` is the string name of the attribute. + The following special names can always be used: + * ``filename``, ``comments``, ``grid_name``, ``grid_type``, ``time_statistic``, ``long_name``, ``units``." + "None", "``info(flag=None, device=sys.stdout)``", "Print slab information. + * If ``flag`` is nonzero, dimension values, weights, and bounds are also printed. Output is sent to ``device``." + "List", "``listall(all=None)``", "Print slab information. + * If ``all`` is nonzero, dimension values, weights, and bounds are also printed." + "List", "``listdimattributes(dim, field)``", "List dimension attributes. Returns a list of string attribute names which can be input to ``getdimattribute``. + * ``dim`` is the dimension number, an integer in the range 0..rank-1. + * ``field`` is a string, one of: 'name', 'values', 'length', 'units', 'weights', 'bounds'." + "None", "``setattribute(name, value)``", "Set an attribute. + * ``name`` is the string name of the attribute. + * ``value`` is the value of the attribute." @@ -240,34 +273,52 @@ Table cuDataset Methods :align: left "None", "``cleardefault()``", "Clear the default variable name." - "None", "``default_variable(vname``)", "Set the default variable name." - ,,"vname is the string variable name." - "Array", "``dimensionarray(dname, vname=None``)", "Values of the axis named dname." - ,,"dname is the string axis name." - ,,"vname is the string variable name. The default is the variable name set by default_variable." - "Axis", "``dimensionobject(dname, vname=None)``", "Get an axis. dname is the string name of an axis. vname is a string variable name. The default is the variable name set by default_variable." - "Various", "``getattribute (vname, attribute``)", "Get an attribute value. vname is a string variable name. attribute is the string attribute name." - "String", "``getdimensionunits (dname,vname=None``)", "Get the units for the given dimension." - ,,"dname is the string name of an axis." - ,,"vname is a string variable name. The default is the variable name set by default_variable." - "Various", "``getglobal (attribute)``", "Get the value of the global attribute. attribute is the string attribute name." - "Variable", "``getslab (vname, \*args)``", "Read data for a variable." - ,, "vname is the string name of the variable." - ,, "args is an argument list corresponding to the dimensions of the variable. Arguments for each dimension can be:" - ,, "- ':' or None -- select the entire dimension" - ,, "- Ellipsis -- select entire dimensions between the ones given." - ,, "- a pair of successive arguments giving an interval in world coordinates." - ,, "- a CDMS-style tuple of world coordinates e.g. (start, stop, 'cc')" - "List", "``listall (vname=None, all=None)``", "Get info about data from the file." - ,, "vname is the string name of the variable." - ,, "If all is non-zero, dimension values, weights, and bounds are returned as well" - "List", "``listattribute (vname=None )``", "Return a list of attribute names. vname is the name of the variable. The default is the variable name set by default_variable." - "List", "``listdimension (vname=None)``", "Return a list of the dimension names associated with a variable. vname is the name of the variable. The default is the variable name set by default_variable." + "None", "``default_variable(vname``)", "Set the default variable name. + * ``vname`` is the string variable name." + "Array", "``dimensionarray(dname, vname=None``)", "Values of the axis named dname. + * ``dname1`` is the string axis name. + * ``vname`` is the string variable name. + **Note**: The default is the variable name set by default_variable." + "Axis", "``dimensionobject(dname, vname=None)``", "Get an axis. dname is the string name of an axis. + * ``vname`` is a string variable name. + **Note:** The default is the variable name set by default_variable." + "Various", "``getattribute (vname, attribute``)", "Get an attribute value. + * ``vname`` is a string variable name. + * ``attribute`` is the string attribute name." + "String", "``getdimensionunits (dname,vname=None``)", "Get the units for the given dimension. + * ``dname`` is the string name of an axis. + * ``vname`` is a string variable name. + **Note:** The default is the variable name set by default_variable." + "Various", "``getglobal (attribute)``", "Get the value of the global attribute. + * ``attribute`` is the string attribute name." + "Variable", "``getslab (vname, \*args)``", "Read data for a variable. + * ``vname`` is the string name of the variable. + * ``args`` is an argument list corresponding to the dimensions of the variable. + Arguments for each dimension can be: + * ':' or None -- select the entire dimension + * Ellipsis -- select entire dimensions between the ones given. + * a pair of successive arguments giving an interval in world coordinates. + * a CDMS-style tuple of world coordinates e.g. (start, stop, 'cc')" + "List", "``listall (vname=None, all=None)``", "Get info about data from the file. + * ``vname`` is the string name of the variable. + **Note:** If all is non-zero, dimension values, weights, and bounds are returned as well" + "List", "``listattribute (vname=None )``", "Return a list of attribute names. + * ``vname`` is the name of the variable. + **Note:** The default is the variable name set by default_variable." + "List", "``listdimension (vname=None)``", "Return a list of the dimension names associated with a variable. + * ``vname`` is the name of the variable. + **Note:** The default is the variable name set by default_variable." "List", "``listglobal ()``", "Return a list of the global attribute names." "List", "``listvariable ()``", "Return a list of the variables in the file." - "None", "``showall (vname=None, all=None, device=sys.stdout)``", "Print a description of the variable. vname is the string name of the variable. If all is non-zero, dimension values, weights, and bounds are returned as well. Output is sent to device." - "None", "``showattribute (vname=None, device=sys.stdout)``", "Print the attributes of a variable. vname is the string name of the variable. Output is sent to device." - "None", "``showdimension (vname=None, device=sys.stdout)``", "Print the dimension names associated with a variable. vname is the string name of the variable. Output is sent to device." + "None", "``showall (vname=None, all=None, device=sys.stdout)``", "Print a description of the variable. + * ``vname`` is the string name of the variable. + **Note:** If all is non-zero, dimension values, weights, and bounds are returned as well. Output is sent to device." + "None", "``showattribute (vname=None, device=sys.stdout)``", "Print the attributes of a variable. + * ``vname`` is the string name of the variable. + **Note:** Output is sent to device." + "None", "``showdimension (vname=None, device=sys.stdout)``", "Print the dimension names associated with a variable. + * ``vname`` is the string name of the variable. + **Note:** Output is sent to device." "None", "``showglobal (device=sys.stdout)``", "Print the global file attributes. Output is sent to device." "None", "``showvariable (device=sys.stdout)``", "Print the list of variables in the file." diff --git a/docs/source/manual/docs/vcs_quick_ref.pdf b/docs/source/manual/docs/vcs_quick_ref.pdf new file mode 100644 index 00000000..6356afa2 Binary files /dev/null and b/docs/source/manual/docs/vcs_quick_ref.pdf differ diff --git a/docs/source/manual/images/cdms_logo2_nocube.png b/docs/source/manual/images/cdms_logo2_nocube.png index 3ba6a2a2..ae5414c9 100644 Binary files a/docs/source/manual/images/cdms_logo2_nocube.png and b/docs/source/manual/images/cdms_logo2_nocube.png differ diff --git a/docs/source/manual/images/generic_grid.jpg b/docs/source/manual/images/generic_grid.jpg old mode 100755 new mode 100644 diff --git a/docs/source/manual/images/vcs_quick_ref.jpg b/docs/source/manual/images/vcs_quick_ref.jpg new file mode 100644 index 00000000..5fc68507 Binary files /dev/null and b/docs/source/manual/images/vcs_quick_ref.jpg differ diff --git a/docs/source/mvBaseWriter.rst b/docs/source/mvBaseWriter.rst new file mode 100644 index 00000000..34bfb29d --- /dev/null +++ b/docs/source/mvBaseWriter.rst @@ -0,0 +1,12 @@ +.. _mvBaseWriter: + +mvBaseWriter +============ +.. currentmodule:: cdms2.mvBaseWriter + +.. autosummary:: + :toctree: generated/ +: + + BaseWriter + BaseWriter.write diff --git a/docs/source/mvCdmsRegrid.rst b/docs/source/mvCdmsRegrid.rst new file mode 100644 index 00000000..065e65ea --- /dev/null +++ b/docs/source/mvCdmsRegrid.rst @@ -0,0 +1,18 @@ +.. _mvCdmsRegrid: + +mvCdmsRegrid +============ +.. currentmodule:: cdms2.mvCdmsRegrid + +.. autosummary:: + :toctree: generated/ + + CdmsRegrid.getboundlist + CdmsRegrid.areCellsOk + CdmsRegrid.projectToSphere + CdmsRegrid.buildBounds + CdmsRegrid.getBoundList + CdmsRegrid.getCoordList + CdmsRegrid.getDstDataShape + CdmsRegrid.getAxisList + CdmsRegrid.call diff --git a/docs/source/mvESMFRegrid.rst b/docs/source/mvESMFRegrid.rst new file mode 100644 index 00000000..572b3c7d --- /dev/null +++ b/docs/source/mvESMFRegrid.rst @@ -0,0 +1,24 @@ +.. _mvESMFRegrid: + +mvESMFRegrid +============ +.. currentmodule:: regrid2.mvESMFRegrid + +.. autosummary:: + :toctree: generated/ + + ESMFRegrid.setCoords + ESMFRegrid.computeWeights + ESMFRegrid.apply + ESMFRegrid.getDstGrid + ESMFRegrid.getSrcAreas + ESMFRegrid.getDstAreas + ESMFRegrid.getSrcAreaFractions + ESMFRegrid.getDstAreaFractions + ESMFRegrid.getSrcLocalShape + ESMFRegrid.getDstLocalShape + ESMFRegrid.getSrcLocalSlab + ESMFRegrid.getDstLocalSlab + ESMFRegrid.fillInDiagnosticData + + diff --git a/docs/source/mvGenericRegrid.rst b/docs/source/mvGenericRegrid.rst new file mode 100644 index 00000000..0509275d --- /dev/null +++ b/docs/source/mvGenericRegrid.rst @@ -0,0 +1,15 @@ +.. _mvGenericRegrid: + +mvGenericRegrid +=============== +.. currentmodule:: regrid2.mvGenericRegrid + +.. autosummary:: + :toctree: generated/ + + guessPeriodicity + GenericRegrid.computeWeights + GenericRegrid.apply + GenericRegrid.getDstGrid + GenericRegrid.fillInDiagnosticData + diff --git a/docs/source/mvLibCFRegrid.rst b/docs/source/mvLibCFRegrid.rst new file mode 100644 index 00000000..c5c4555f --- /dev/null +++ b/docs/source/mvLibCFRegrid.rst @@ -0,0 +1,9 @@ +.. _regrid2.mvcdms2.FRegrid: + +regrid2-mvcdms2.FRegrid +===================== + +.. automodule:: regrid2.mvLibCFRegrid + :members: + + diff --git a/docs/source/mvSphereMesh.rst b/docs/source/mvSphereMesh.rst new file mode 100644 index 00000000..bcc1017e --- /dev/null +++ b/docs/source/mvSphereMesh.rst @@ -0,0 +1,16 @@ +.. _mvSphereMesh: + +mvSphereMesh +============ +.. currentmodule:: cdms2.mvSphereMesh + +.. autosummary:: + :toctree: generated/ + + SphereMesh + SphereMesh.getXYZCoords + SphereMesh.test2DRect + SphereMesh.test2D + SphereMesh.test3DRect + SphereMesh.test3DposDown + diff --git a/docs/source/mvVTKSGWriter.rst b/docs/source/mvVTKSGWriter.rst new file mode 100644 index 00000000..02b41729 --- /dev/null +++ b/docs/source/mvVTKSGWriter.rst @@ -0,0 +1,15 @@ +.. _mvVTKSGWriter: + +mvVTKSGWriter +============= +.. currentmodule:: cdms2.mvVTKSGWriter + +.. autosummary:: + :toctree: generated/ + + VTKSGWriter + VTKSGWriter.write + VTKSGWriter.test2DRect + VTKSGWriter.test3D + + diff --git a/docs/source/mvVTKUGWriter.rst b/docs/source/mvVTKUGWriter.rst new file mode 100644 index 00000000..d16a9ce9 --- /dev/null +++ b/docs/source/mvVTKUGWriter.rst @@ -0,0 +1,16 @@ +.. _mvVTKUGWriter: + +mvVTKUGWriter +============= +.. currentmodule:: cdms2.mvVTKUGWriter + +.. autosummary:: + :toctree: generated/ + + + VTKUGWriter + VTKUGWriter.write + VTKUGWriter.test2DRect + VTKUGWriter.test3D + + diff --git a/docs/source/mvVsWriter.rst b/docs/source/mvVsWriter.rst new file mode 100644 index 00000000..dc2e978e --- /dev/null +++ b/docs/source/mvVsWriter.rst @@ -0,0 +1,14 @@ +.. _mvVsWriter: + +mvVsWriter +========== +.. currentmodule:: cdms2.mvVsWriter + +.. autosummary:: + :toctree: generated/ +: + + VsWriter + VsWriter.write + VsWriter.test2DRect + VsWriter.test3D diff --git a/docs/source/mySphereMesh.rst b/docs/source/mySphereMesh.rst new file mode 100644 index 00000000..6fd6ecaa --- /dev/null +++ b/docs/source/mySphereMesh.rst @@ -0,0 +1,8 @@ +.. _mvBaseWriter: + +mvBaseWriter +============ + +.. automodule:: cdms2.mvBaseWriter + :members: + diff --git a/docs/source/pressure.rst b/docs/source/pressure.rst new file mode 100644 index 00000000..20e49373 --- /dev/null +++ b/docs/source/pressure.rst @@ -0,0 +1,14 @@ +.. _pressure: + +pressure +======== + +.. currentmodule:: regrid2.pressure + +.. autosummary:: + :toctree: generated/ + + checkorder + sendmsg + + diff --git a/docs/source/restApi.rst b/docs/source/restApi.rst new file mode 100644 index 00000000..181d31a6 --- /dev/null +++ b/docs/source/restApi.rst @@ -0,0 +1,53 @@ +.. _restApi: + +restApi +======= +.. currentmodule:: cdms2.restApi + +.. autosummary:: + :toctree: generated/ + + esgfConnectionException + esgfDatasetException + esgfFilesException + + FacetConnection + FacetConnection.get_xmlelement + FacetConnection.make_facet_dict + FacetConnection.get_xmlelement_count + FacetConnection.make_facet_dict_count + + esgfConnection + esgfConnection.getitem + esgfConnection.setitem + esgfConnection.search + esgfConnection.generateRequest + esgfConnection.request + esgfConnection.extractTag + esgfConnection.searchDatasets + + esgfDataset + esgfDataset.extractFiles + esgfDataset.info + esgfDataset.str + esgfDataset.clearWebCache + esgfDataset.saveCache + esgfDataset.loadCache + esgfDataset.clearOriginalQueryCache + esgfDataset.clear + esgfDataset.search + + esgfFiles + esgfFiles.getitem + esgfFiles.setitem + esgfFiles.len + esgfFiles.getMapping + esgfFiles.getMappingKeys + esgfFiles.setMapping + esgfFiles.remap + + esgfFile + esgfFile.getitem + esgfFile.setitem + esgfFile.str + diff --git a/docs/source/scrip.rst b/docs/source/scrip.rst new file mode 100644 index 00000000..2ebdbb1d --- /dev/null +++ b/docs/source/scrip.rst @@ -0,0 +1,14 @@ +.. _scrip: + +scrip +===== + +.. currentmodule:: regrid2.scrip + +.. autosummary:: + :toctree: generated/ + + + readRegridder + + diff --git a/docs/source/selectors.rst b/docs/source/selectors.rst new file mode 100644 index 00000000..56a0f6ba --- /dev/null +++ b/docs/source/selectors.rst @@ -0,0 +1,54 @@ +.. _selectors: + +selectors +========= +.. currentmodule:: cdms2.selectors + +.. autosummary:: + :toctree: generated/ + + + Selector + Selector.components + Selector.refine + Selector.repr + Selector.and + Selector.clone + Selector.call + Selector.select + Selector.unmodifiedselect + + SelectorComponent + SelectorComponent.specify + SelectorComponent.specifyGrid + SelectorComponent.post + + axisComponent + axisComponent.specify + axisComponent.repr + + coordinateComponent + coordinateComponent.specifyGrid + + requiredComponent + requiredComponent.specify + + indexComponent + + indexedComponent + indexedComponent.specify + + positionalComponent + positionalComponent.specify + positionalComponent.repr + positionalComponent.longitude + positionalComponent.latitude + positionalComponent.time + positionalComponent.level + positionalComponent.required + positionalComponent.kwselect + positionalComponent.timeslice + positionalComponent.latitudeslice + positionalComponent.longitudeslice + positionalComponent.levelslice + positionalComponent.setslice diff --git a/docs/source/slabinterface.rst b/docs/source/slabinterface.rst new file mode 100644 index 00000000..4e18a750 --- /dev/null +++ b/docs/source/slabinterface.rst @@ -0,0 +1,23 @@ +.. _slabinterface: + +slabinterface +============= +.. currentmodule:: cdms2.slabinterface + +.. autosummary:: + :toctree: generated/ + + Slab.getattribute + Slab.setattribute + Slab.createattribute + Slab.deleteattribute + Slab.listattributes + Slab.listdimattributes + Slab.getdimattribute + Slab.showdim + Slab.listdimnames + Slab.listall + Slab.info + cdms_bounds2cu_bounds + + diff --git a/docs/source/source/_static/copybutton.js b/docs/source/source/_static/copybutton.js new file mode 100644 index 00000000..3564e1da --- /dev/null +++ b/docs/source/source/_static/copybutton.js @@ -0,0 +1,63 @@ +$(document).ready(function() { + /* Add a [>>>] button on the top-right corner of code samples to hide + * the >>> and ... prompts and the output and thus make the code + * copyable. */ + var div = $('.highlight-python .highlight,' + + '.highlight-python3 .highlight' + ) + var pre = div.find('pre'); + + // get the styles from the current theme + pre.parent().parent().css('position', 'relative'); + var hide_text = 'Hide the prompts and output'; + var show_text = 'Show the prompts and output'; + var border_width = pre.css('border-top-width'); + var border_style = pre.css('border-top-style'); + var border_color = pre.css('border-top-color'); + var button_styles = { + 'cursor':'pointer', 'position': 'absolute', 'top': '0', 'right': '0', + 'border-color': border_color, 'border-style': border_style, + 'border-width': border_width, 'color': border_color, 'text-size': '75%', + 'font-family': 'monospace', 'padding-left': '0.2em', 'padding-right': '0.2em', + 'border-radius': '0 3px 0 0' + } + + // create and add the button to all the code blocks that contain >>> + div.each(function(index) { + var jthis = $(this); + if (jthis.find('.gp').length > 0) { + var button = $('>>>'); + button.css(button_styles) + button.attr('title', hide_text); + button.data('hidden', 'false'); + jthis.prepend(button); + } + // tracebacks (.gt) contain bare text elements that need to be + // wrapped in a span to work with .nextUntil() (see later) + jthis.find('pre:has(.gt)').contents().filter(function() { + return ((this.nodeType == 3) && (this.data.trim().length > 0)); + }).wrap(''); + }); + + // define the behavior of the button when it's clicked + $('.copybutton').click(function(e){ + e.preventDefault(); + var button = $(this); + if (button.data('hidden') === 'false') { + // hide the code output + button.parent().find('.go, .gp, .gt').hide(); + button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'hidden'); + button.css('text-decoration', 'line-through'); + button.attr('title', show_text); + button.data('hidden', 'true'); + } else { + // show the code output + button.parent().find('.go, .gp, .gt').show(); + button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'visible'); + button.css('text-decoration', 'none'); + button.attr('title', hide_text); + button.data('hidden', 'false'); + } + }); +}); + diff --git a/docs/source/tvariable.rst b/docs/source/tvariable.rst new file mode 100644 index 00000000..8b0f7d13 --- /dev/null +++ b/docs/source/tvariable.rst @@ -0,0 +1,136 @@ +.. _tvariable: + +tvariable +========= + +.. currentmodule:: cdms2.tvariable + +.. autosummary:: + :toctree: generated/ + + asVariable + createAxis + createRectGrid + createVariable + fromJSON + isVariable + sctype2char + TransientVariable.all + TransientVariable.anom + TransientVariable.any + TransientVariable.argmax + TransientVariable.argmin + TransientVariable.argsort + TransientVariable.asma + TransientVariable.astype + TransientVariable.clip + TransientVariable.clone + TransientVariable.compressed + TransientVariable.compress + TransientVariable.copyAxis + TransientVariable.copydimension + TransientVariable.copyDomain + TransientVariable.count + TransientVariable.createattribute + TransientVariable.crossSectionRegrid + TransientVariable.cumprod + TransientVariable.cumsum + TransientVariable.decode + TransientVariable.deleteattribute + TransientVariable.diagonal + TransientVariable.dot + TransientVariable.dump + TransientVariable.dumps + TransientVariable.exposeHalo + TransientVariable.fetchHaloData + TransientVariable.filled + TransientVariable.flatten + TransientVariable.freeHalo + TransientVariable.generateGridkey + TransientVariable.generateRectGridkey + TransientVariable.getattribute + TransientVariable.getAxisIds + TransientVariable.getAxisIndex + TransientVariable.getAxisListIndex + TransientVariable.getAxisList + TransientVariable.getConvention + TransientVariable.getdimattribute + TransientVariable.get_fill_value + TransientVariable.getForecastTime + TransientVariable.getGridIndices + TransientVariable.getHaloEllipsis + TransientVariable.get_imag + TransientVariable.getLatitude + TransientVariable.getLevel + TransientVariable.getLongitude + TransientVariable.getMissing + TransientVariable.getMPIRank + TransientVariable.getMPISize + TransientVariable.getOrder + TransientVariable.get_real + TransientVariable.getRegion + TransientVariable.getSlice + TransientVariable.getTileIndex + TransientVariable.getTime + TransientVariable.harden_mask + TransientVariable.hasCellData + TransientVariable.ids + TransientVariable.isEncoded + TransientVariable.listall + TransientVariable.listattributes + TransientVariable.listdimattributes + TransientVariable.listdimnames + TransientVariable.matchone + TransientVariable.matchPattern + TransientVariable.max + TransientVariable.mean + TransientVariable.mini + TransientVariable.min + TransientVariable.nonzero + TransientVariable.pressureRegrid + TransientVariable.prod + TransientVariable.product + TransientVariable.ptp + TransientVariable.put + TransientVariable.ravel + TransientVariable.regrid + TransientVariable.reorder + TransientVariable.repeat + TransientVariable.reshape + TransientVariable.resize + TransientVariable.round + TransientVariable.searchone + TransientVariable.searchPattern + TransientVariable.searchPredicate + TransientVariable.select + TransientVariable.setattribute + TransientVariable.setAxisList + TransientVariable.setAxis + TransientVariable.setdimattribute + TransientVariable.set_fill_value + TransientVariable.setMaskFromGridMask + TransientVariable.setMissing + TransientVariable.setMPIComm + TransientVariable.setTileIndex + TransientVariable.showdim + TransientVariable.shrink_mask + TransientVariable.soften_mask + TransientVariable.sort + TransientVariable.specs2slices + TransientVariable.std + TransientVariable.sum + TransientVariable.swapaxes + TransientVariable.take + TransientVariable.tobytes + TransientVariable.tofile + TransientVariable.toflex + TransientVariable.tolist + TransientVariable.torecords + TransientVariable.tostring + TransientVariable.toVisit + TransientVariable.trace + TransientVariable.transpose + TransientVariable.unshare_mask + TransientVariable.var + TransientVariable.view + diff --git a/docs/source/variable.rst b/docs/source/variable.rst new file mode 100644 index 00000000..94b1f385 --- /dev/null +++ b/docs/source/variable.rst @@ -0,0 +1,71 @@ +.. _variable: + +variable +======== + +.. currentmodule:: cdms2.variable + +.. autosummary:: + :toctree: generated/ + + DatasetVariable.astype + DatasetVariable.createattribute + DatasetVariable.crossSectionRegrid + DatasetVariable.decode + DatasetVariable.deleteattribute + DatasetVariable.dump + DatasetVariable.expertPaths + DatasetVariable.generateGridkey + DatasetVariable.generateRectGridkey + DatasetVariable.genMatch + DatasetVariable.getattribute + DatasetVariable.getAxisIds + DatasetVariable.getAxisIndex + DatasetVariable.getAxisListIndex + DatasetVariable.getAxisList + DatasetVariable.getConvention + DatasetVariable.getdimattribute + DatasetVariable.getFilePath + DatasetVariable.getForecastTime + DatasetVariable.getGridIndices + DatasetVariable.getLatitude + DatasetVariable.getLevel + DatasetVariable.getLongitude + DatasetVariable.getMissing + DatasetVariable.getOrder + DatasetVariable.getPartition + DatasetVariable.getRegion + DatasetVariable.getSlice + DatasetVariable.getTime + DatasetVariable.getValue + DatasetVariable.hasCellData + DatasetVariable.initDomain + DatasetVariable.isEncoded + DatasetVariable.listall + DatasetVariable.listattributes + DatasetVariable.listdimattributes + DatasetVariable.listdimnames + DatasetVariable.matchone + DatasetVariable.matchPattern + DatasetVariable.pressureRegrid + DatasetVariable.regrid + DatasetVariable.reorder + DatasetVariable.searchone + DatasetVariable.searchPattern + DatasetVariable.searchPredicate + DatasetVariable.select + DatasetVariable.setattribute + DatasetVariable.setMissing + DatasetVariable.showdim + DatasetVariable.size + DatasetVariable.specs2slices + getPathFromTemplate + lenSlice + reverseSlice + sliceIntersect + slicePartition + timeindex + + + + diff --git a/docs/source2/manual/images/generic_grid.jpg b/docs/source2/manual/images/generic_grid.jpg old mode 100755 new mode 100644 diff --git a/readthedocs.yml b/readthedocs.yml new file mode 100644 index 00000000..e5e49ce6 --- /dev/null +++ b/readthedocs.yml @@ -0,0 +1,15 @@ +formats: + - epub + - pdf + +requirements_file: docs/requirements.txt + +conda: + file: docs/environment.yml + +build: + image: latest +python: + version: 2.70 + setup_py_install: true + diff --git a/regrid2/Lib/PET0.ESMF_LogFile b/regrid2/Lib/PET0.ESMF_LogFile new file mode 100644 index 00000000..3494c8e2 --- /dev/null +++ b/regrid2/Lib/PET0.ESMF_LogFile @@ -0,0 +1 @@ +20170308 152041.534 INFO PET0 Running with ESMF Version 7.0.0 diff --git a/regrid2/Lib/crossSection.py b/regrid2/Lib/crossSection.py index 8a859e80..39ad338e 100644 --- a/regrid2/Lib/crossSection.py +++ b/regrid2/Lib/crossSection.py @@ -3,23 +3,24 @@ import cdms2 import numpy import copy -from . import _regrid +# from . import _regrid +import regrid2._regrid as _regrid from .error import RegridError class CrossSectionRegridder: - """ #----------------------------------------------------------------------------------------------- - # - # PURPOSE: To perform all the tasks required to regrid the input data into the ouput data in the - # latitude-level plane for all times - # - # PROCEDURE: Step One: - # Make an instance of class CrossSectionRegridder passing it input and output grid information - # Step Two: - # Pass the input data with some descriptive parameters and get the output data - # in return - # - #------------------------------------------------------------------------------------------------""" + """ + + PURPOSE: To perform all the tasks required to regrid the input data into the ouput data in the + latitude-level plane for all times + + PROCEDURE: Step One: + Make an instance of class CrossSectionRegridder passing it input and output grid information + Step Two: + Pass the input data with some descriptive parameters and get the output data + in return + + """ def __init__(self, latIn, latOut, levIn, levOut, latTypeIn=None, latSizeIn=None, latTypeOut=None, latSizeOut=None): @@ -542,19 +543,25 @@ def rgrd(self, dataIn, missingValueIn, missingMatch, logYes='yes', def checkdimension(x, name): - """ #--------------------------------------------------------------------------------- - # - # purpose: dimension checks - # 1. has a len method - # 2. data type is float32 - # 3. monotonically increasing vectors - # - # passed : x - coordinate vector - # name - coordinate vector ID - # - # returned: x, xsize -- dimension vector and its size - # - #---------------------------------------------------------------------------------""" + """ + + **Purpose:** + + dimension checks + 1. has a len method + 2. data type is float32 + 3. monotonically increasing vectors + + **Parameters:** + + x - coordinate vector + + name - coordinate vector ID + + **Returns:** + + x, xsize -- dimension vector and its size + """ data = x[:] try: @@ -604,20 +611,24 @@ def generic_wts_bnds(lat): def get_latitude_wts_bnds(checklatpass): - """ #------------------------------------------------------------------- - # - # routine: get_latitude_wts_bnds - # - # purpose: compare the passed checklatpass with the correct geophysical - # ones calculated here. After finding a match call the function - # to get the bounds. - # - # usage: wts,bnds = get_latitude_wts_bnds(checklatpass) - # where checklatpass is the grid to check - # - # return: wts, bnds - tuple with weights and bounds - # - #-------------------------------------------------------------------------""" + """ + get_latitude_wts_bnds + + Compare the passed checklatpass with the correct geophysical ones + calculated here. After finding a match call the function to get the bounds. + + wts,bnds = get_latitude_wts_bnds(checklatpass) + + Parameters + ---------- + checklatpass: + is the grid to check + + Returns + ------- + wts, bnds - tuple with weights and bounds + + """ small = 0.001 # use as tolerance in checking values nlat = len(checklatpass) @@ -696,15 +707,19 @@ def get_latitude_wts_bnds(checklatpass): def latitude_bounds(lat_bnds): - """ #------------------------------------------------------------------- - # - # purpose: set up the shape and bounds for use by maparea - # - # usage: - # - # returned: tuple ( bn,bs ) - # - #------------------------------------------------------------------------""" + """ + + **Purpose:** + + set up the shape and bounds for use by maparea + + **Usage:** + + **Returns:** + + tuple ( bn,bs ) + + """ latbnds = lat_bnds.astype(numpy.float32) @@ -719,20 +734,28 @@ def latitude_bounds(lat_bnds): def get_region_latitude_wts_bnds(latRegionpass, latType, latSize): - """ #------------------------------------------------------------------- - # - # routine: get_region_latitude_wts_bnds - # - # purpose: compare the passed latitudes, latRegion, with the global - # ones calculated here and extract the wts and bounds for - # the region - # - # usage: wts,bnds = get_region_latitude_wts_bnds(latRegion, latType, latSize) - # where latRegion is the regional grid to check - # - # return: wts, bnds - tuple with weights and bounds - # - #-------------------------------------------------------------------------""" + """ + + **Routine:** + + get_region_latitude_wts_bnds + + **Purpose:** + + compare the passed latitudes, latRegion, with the global + ones calculated here and extract the wts and bounds for + the region + + **Usage:** + + wts,bnds = get_region_latitude_wts_bnds(latRegion, latType, latSize) + where latRegion is the regional grid to check + + **Returns:** + + wts, bnds - tuple with weights and bounds + + """ latTypeList = ['gaussian', 'equalarea', 'uniform', 'generic'] @@ -804,15 +827,21 @@ def get_region_latitude_wts_bnds(latRegionpass, latType, latSize): def sectionmask(dataIn, positionIn, maskIn, missingValueIn, missingMatch): - """ #----------------------------------------------------------------------------------------- - # - # purpose: construct the mask for the input data for use by rgdlength - # - # usage: amskin = mask(dataIn, positionIn, maskIn, missingValueIn, missingValueOut, flag2D) - # - # returned: amskin - # - #----------------------------------------------------------------------------------------------""" + """ + + **Purpose:** + + construct the mask for the input data for use by rgdlength + + **Usage:** + + amskin = mask(dataIn, positionIn, maskIn, missingValueIn, missingValueOut, flag2D) + + **Returns:** + + amskin + + """ # Logic outline # START NO USER MASK SECTION ? # @@ -978,16 +1007,23 @@ def sectionmask(dataIn, positionIn, maskIn, missingValueIn, missingMatch): def sendmsg(msg, value1=None, value2=None): - """ #--------------------------------------------------------------------------------- - # - # purpose: send the same message to the screen - # - # passed : msg - the string - # value - the number associated with the string - # - # returned: return - # - #---------------------------------------------------------------------------------""" + """ + + **Purpose:** + + send the same message to the screen + + **Passed:** + + msg - the string + + value - the number associated with the string + + **Returns:** + + return + + """ print('*******************************************************************') if value1 is None: @@ -1002,15 +1038,21 @@ def sendmsg(msg, value1=None, value2=None): def section(latvals, levvals): - """ #--------------------------------------------------------------------------------- - # - # purpose: make the crossi section analytical test case - # - # passed : the grid coordinate vectors - # - # returned: xsection -- a temerature like cross section - # - #---------------------------------------------------------------------------------""" + """ + + **Purpose:** + + make the crossi section analytical test case + + **Passed:** + + the grid coordinate vectors + + **Returns:** + + xsection -- a temerature like cross section + + """ nlev = len(levvals) @@ -1032,15 +1074,23 @@ def section(latvals, levvals): def rmserror(data1, data2): - """ #--------------------------------------------------------------------------------- - # - # purpose: compute the rms error for two data sets having the same shape - # - # passed : the two data sets - # - # returned: rms error - # - #---------------------------------------------------------------------------------""" + """ + + **Purpose:** + + compute the rms error for two data sets having the same shape + + + **Passed:** + + the two data sets + + + **Returns:** + + rms error + + """ if data1.shape != data2.shape: print('Error in shape in rmserror') diff --git a/regrid2/Lib/crossSection.py.orig b/regrid2/Lib/crossSection.py.orig new file mode 100644 index 00000000..f758f77a --- /dev/null +++ b/regrid2/Lib/crossSection.py.orig @@ -0,0 +1,1100 @@ +# Automatically adapted for numpy.oldnumeric Aug 02, 2007 by + +import cdms2 +import numpy +import copy +from . import _regrid +from .error import RegridError + + +class CrossSectionRegridder: + """ #----------------------------------------------------------------------------------------------- + # + # PURPOSE: To perform all the tasks required to regrid the input data into the ouput data in the + # latitude-level plane for all times + # + # PROCEDURE: Step One: + # Make an instance of class CrossSectionRegridder passing it input and output grid information + # Step Two: + # Pass the input data with some descriptive parameters and get the output data + # in return + # + #------------------------------------------------------------------------------------------------""" + + def __init__(self, latIn, latOut, levIn, levOut, latTypeIn=None, latSizeIn=None, + latTypeOut=None, latSizeOut=None): + """ #----------------------------------------------------------------------------------------------- + # + # PURPOSE: To make an instance which entails setting up the input and output grids + # + # DEFINITION: + # + # def __init__(self, latIn, latOut, levIn, levOut, latTypeIn = None, latSizeIn = None, + # latTypeOut = None, latSizeOut = None): + # + # PROCEDURE: + # + # The user must assemble at least the following four pieces of information: + # + # latIn - the axis specifying the latitude grid for the input data + # + # latOut - the axis specifying the latitude grid for the output data + # + # levIn - the axis specifying the pressure grid for the input data + # + # levOut - the axis specifying the pressure grid for the output data + # + # + # Additional information is required if a latitude grid is not global. It may be generic. + # Otherwise it is a subset of one of the standard global grids. Correspondingly, the choice + # for the grid type must be 'gaussian', 'equalarea', 'uniform' or 'generic'. In addition, the + # computation requires the size of the global grid from which the subset was choosen. Consequently, + # the user must assemble: + # + # latTypeIn -- for input latitude, one of the following: + # 'gaussian' + # 'equalarea' + # 'uniform' + # 'generic' + # + # latSizeIn -- for input latitude, the size of the goblal grid used in selecting the region + # + # latTypeOut -- for output latitude, one of the following: + # 'gaussian' + # 'equalarea' + # 'uniform' + # 'generic' + # + # latSizeOut -- for output latitude, the size of the goblal grid used in selecting the region + # + # USAGE: + # + # To make an instance preparing for a global to global regrid, type + # + # r = CrossSectionRegridder(latIn, latOut, levIn, levOut) + # + # To make an instance preparing for a global to a regional grid which, for example, is a subset of + # a global gaussian grid of size 64, type + # + # r = CrossSectionRegridder(latIn, latOut, levIn, levOut, latTypeOut = 'gaussian', latSizeOut = 64) + # + # where the latOut axis must have been selected from the global 64 length gaussian grid + #------------------------------------------------------------------------------------------------""" + + # --- set the instance grid data attributes used to describe input and output grid sizes + + self.latOut = latOut + self.levIn = levIn + self.levOut = levOut + self.nlevi = len(levIn) + self.nlevo = len(levOut) + + latIn, self.nlati = checkdimension(latIn, 'input latitude') + latOut, self.nlato = checkdimension(latOut, 'output latitude') + + # --- check for a single grid point in the latitude-level plane + + if self.nlevo == 1 and self.nlato != 1: + sendmsg( + 'Error in output grid - a single level value requires a single latitude value') + raise ValueError + if self.nlevo != 1 and self.nlato == 1: + sendmsg( + 'Error in output grid - a single latitude value requires a single longitude value') + raise ValueError + if self.nlevo == 1 and self.nlato == 1: + calculateMean = 1 + msg = 'Warning -- regridding a cross section to a single point does not produce the global mean' + sendmsg(msg) + else: + calculateMean = 0 + + # --- get the latitude coordinate grid boundaries for the input grid + + if latTypeIn is None: # global latIn + lat_wts_bndsIn = get_latitude_wts_bnds(latIn) + else: + lat_wts_bndsIn = get_region_latitude_wts_bnds( + latIn, latTypeIn, latSizeIn) + + lat_bndsIn = lat_wts_bndsIn[1] + bnin, bsin = latitude_bounds(lat_bndsIn) + + if calculateMean == 0: # meaningful grid + + # --- get the latitude coordinate grid boundaries for the output grid + + if latTypeOut is None: # global latOut + lat_wts_bndsOut = get_latitude_wts_bnds(latOut) + else: + lat_wts_bndsOut = get_region_latitude_wts_bnds( + latOut, latTypeOut, latSizeOut) + + lat_bndsOut = lat_wts_bndsOut[1] + bnout, bsout = latitude_bounds(lat_bndsOut) + + else: + bnout = numpy.array([90.0], numpy.float32) + bsout = numpy.array([-90.0], numpy.float32) + + # --- call maplength to get the rest of the self data needed by rgrdlength + + t = _regrid.maplength(self.nlati, self.nlato, bnin, bnout, bsin, bsout) + + self.latdx, self.latpt, self.wtlat = t + + def __call__(self, ar, missing=None, order=None, method="log"): + """ + Call the regridder function. + ar is the input array. + missing is the missing data value, if any. It defaults to the missing/fill value + defined for the input array, if any. + order is of the form "tzyx", "tyx", etc. + method is either 'log' to interpolate in the log of pressure, or 'linear' for linear interpolation. + """ + + from cdms2.avariable import AbstractVariable + from cdms2.tvariable import TransientVariable + + # Save Variable metadata for output + if isinstance(ar, AbstractVariable): + attrs = copy.copy(ar.attributes) + varid = ar.id + axislist = list([x[0].clone() for x in ar.getDomain()]) + inputIsVariable = 1 + if order is None: + order = ar.getOrder() + # this expects contiguous arrays + if isinstance( + ar, TransientVariable) and ar.iscontiguous() is False: + ar = ar.ascontiguous() + else: + inputIsVariable = 0 + + # Turn ar into a numpy array. + if numpy.ma.isMaskedArray(ar): + armiss = ar.fill_value + ar = numpy.ma.filled(ar) + elif isinstance(ar, AbstractVariable): + tempar = ar.getValue(squeeze=0) + armiss = ar.getMissing() + ar = numpy.ma.filled(tempar) + elif isinstance(ar, numpy.ndarray): + armiss = None + else: + raise RegridError( + "Input array is not a Variable, numpy.ma, or numpy array") + + # If neither mask nor missing value is specified, get them from + # the input array. + if missing is None: + missing = armiss + if isinstance(missing, numpy.ndarray): + missing = missing[0] + + rank = len(ar.shape) + assert 2 <= rank <= 3, 'Array rank is %i, must be 2, or 3' % rank + + # Set the default order to match the input grid order + if order is None: + if rank == 2: + order = "zy" + else: + order = "tzy" + + assert rank == len( + order), 'Order must be same length as array rank: %i' % len(ar.shape) + + order = str.lower(order) + + # Map order to positionIn + positionIn = [None] * 3 + for i in range(len(order)): + if order[i] == 'y': + positionIn[0] = i + if inputIsVariable: + axislist[i] = self.latOut + elif order[i] == 'z': + positionIn[1] = i + if inputIsVariable: + axislist[i] = self.levOut + else: + positionIn[2] = i + + # Regrid + if method == 'log': + logYes = 'yes' + else: + logYes = 'no' + outar = self.rgrd(ar, missing, 'greater', logYes, positionIn) + + # Reconstruct the same class as on input + # Mask fill_value and return results + print("INPUT IS VAR:", inputIsVariable) + if inputIsVariable == 1: + result = numpy.ma.masked_values(outar, missing) + result = cdms2.createVariable(result, fill_value=missing, + axes=axislist, attributes=attrs, id=varid) + else: + result = numpy.ma.masked_array(outar, fill_value=missing) + result = numpy.ma.masked_values(result, missing) + + return result + + def rgrd(self, dataIn, missingValueIn, missingMatch, logYes='yes', + positionIn=None, maskIn=None, missingValueOut=None): + """ #--------------------------------------------------------------------------------- + # + # PURPOSE: To perform all the tasks required to regrid the input data, dataIn, into the ouput data, dataout in + # the latitude-level plane. + # + # DEFINITION: + # + # def rgrd(self, dataIn, missingValueIn, missingMatch, positionIn = None, maskIn = None, + # missingValueOut = None): + # + # + # PASSED : dataIn -- data to regrid + # + # missingValueIn -- the missing data value to use in setting missing in the mask. It is required + # and there are two choices: + # None -- there is no missing data + # A number -- the value to use in the search for possible missing data. + # The presence of missing data at a grid point leads to recording 0.0 in the mask. + # + # missingMatch -- the comparison scheme used in searching for missing data in dataIn using the value passed + # in as missingValueIn. The choices are: + # None -- used if None is the entry for missingValueIn + # exact -- used if missingValue is the exact value from the file + # greater -- the missing data value is equal to or greater than missingValueIn + # less -- the missing data value is equal to or less than missingValueIn + # + # logYes -- choose the level regrid as linear in log of level or linear in level. Set to + # 'yes' for log. Anything else is linear in level. + # + # + # positionIn -- a tuple with the numerical position of the dimensions + # in C or Python order specified in the sequence latitude, + # level and time. Latitude and level are required. If time is missing submit None in its + # slot in the tuple. Notice that the length of the tuple is + # always three. + # + # Explicitly, in terms of the shape of dataIn as returned by python's shape function + # + # positionIn[0] contains the position of latitude in dataIn + # positionIn[1] contains the position of level in dataIn or None + # positionIn[2] contains the position of time in dataIn or None + # + # As examples: + # If the c order shape of 3D data is + # (number of times, number of levels, number of latitudes) + # submit + # (2, 1, 0). + # + # If the c order shape of 2D data is + # (number of times, number of latitudes) + # submit + # (1, None, 0). + # + # Send in None if the shape is a subset of (time, level, latitude) which is evaluated + # as follows: + # 2D -- code assumes (1,0,None) + # 3D -- code assumes (2,1,0) + # + # maskIn -- an array of 1.0 and 0.0 values where the 0.0 value is used to mask the input data. This + # mask only works on the latitude grid. It is not possible to mask out a region in the level + # plane. The 0.0 value removes the data from correponding grid point. The user can supply the + # following choices: + # + # None -- an array of 1.0s is created followed by substituting 0.0s for grid points with missing + # data in the input data array, dataIn + # + # array -- an array of 1.0s or 0.0s which must be either 2D or the actual size of the input data, + # dataIn. This user supplied mask might be used to mask a latitude region. It is not + # required to account for missing data in the input data. The code uses missingValueIn + # and missingMatch to supply the 0.0s for grid points with missing data in the input + # data array, dataIn. + # + # + # missingValueOut -- the value for the missing data used in writing the output data. If left at the + # default entry, None, the code uses missingValueIn if present or as a last resort + # 1.0e20 + # + # + # RETURNED : dataOut -- the regridded data + # + # + # USAGE: + # + # Example 1. To regrid dataIn into dataOut using all the defaults where None, None signifies no + # missing data. + # dataOut = x.rgrd(dataIn, None, None) + # + # Example 2. To regrid dataIn into dataOut using 1.0e20 and greater as the missing data + # + # dataOut = x.rgrd(dataIn, 1.e20, 'greater') + # + # WARNING: This code does not regrid cross sections which have a single dummy longitude value! + # + # + #-----------------------------------------------------------------------------------------------------------""" + + # check the required input -- dataIn, missingValueIn and missingMatch + + # make sure that dataIn is an array + + try: + len(dataIn) + except TypeError: + sendmsg('Error in calling the rgrd method -- dataIn must be an array') + raise TypeError + + # try to identify a single dummy longitude + + dataShape = dataIn.shape + + if len(dataShape) > 3: + msg = 'Error in call to rgrd -- cross section data can not have more than 3 dimensions' + sendmsg(msg) + raise TypeError + + if positionIn is not None: + if self.nlati != (dataShape[positionIn[0]]): + msg = 'Latitude vector is inconsistent with input data' + sendmsg(msg) + raise ValueError + + if self.nlevi != (dataShape[positionIn[1]]): + msg = 'Level vector is inconsistent with input data' + sendmsg(msg) + raise ValueError + + # check the missingValueIn pass + + if missingValueIn is not None: + try: + abs(missingValueIn) + except TypeError: + sendmsg( + 'Error in calling the rgrd method -- missingvalueIn must be None or a number. Now it is ', + missingValueIn) + raise TypeError + + # check the missingMatch pass + + missingPossibilities = ['greater', 'equal', 'less', None] + if missingMatch not in missingPossibilities: + msg = 'Error in missingMatch -- it must be None or the string greater, equal, or less. Now it is ' + sendmsg(msg, missingMatch) + raise ValueError + + # set missing value to be used in dataOut + + if missingValueOut is None: + if missingValueIn is not None: + # default + omit = missingValueIn + else: + # default + omit = 1.0e20 + else: + # user choice + omit = missingValueOut + + # --- Check data type and change to float if necessary ---- + + if dataIn.dtype.char != 'f': + dataIn = dataIn.astype(numpy.float32) + + # produce the input for rgdlength not generated by maplength + + dataShape = dataIn.shape + numberDim = len(dataShape) + + if numberDim < 2: + msg = 'Error in call to rgrd -- data must have at least 2 dimensions' + sendmsg(msg) + raise TypeError + + if positionIn is None: # construct the default positionIn tuple + positionList = [] + for n in range(numberDim): # insert a sequence of numbers + positionList.append(n) + positionList.reverse() + + if numberDim == 2: # fill end of list with a None + positionList.append(None) + + positionIn = tuple(positionList) + + if len(positionIn) != 3: + msg = 'Error in call to rgrd -- positionIn must be a tuple of length 3' + sendmsg(msg) + raise TypeError + + # set ilon, ilat in Fortran order except that the first index is 0 - + # not 1 + ilat = numberDim - 1 - positionIn[0] + + itim1 = itim2 = -1 + ntim1 = ntim2 = 0 + + if numberDim == 2: # lat and level field + itim1 = numberDim - 1 - positionIn[1] + ntim1 = dataShape[positionIn[1]] + + if numberDim == 3: # lon_lat field + level + time + itim1 = numberDim - 1 - positionIn[1] + ntim1 = dataShape[positionIn[1]] + itim2 = numberDim - 1 - positionIn[2] + ntim2 = dataShape[positionIn[2]] + + # check for consistency between the grid axiss and the dataIn shape + + if self.nlati != (dataShape[positionIn[0]]): + msg = 'Latitude vector is inconsistent with input data' + sendmsg(msg) + raise ValueError + + if self.nlevi != (dataShape[positionIn[1]]): + msg = 'Level vector is inconsistent with input data' + sendmsg(msg) + raise ValueError + + # allocate memory for aout -- the array with original number of levels + # but the new number of latitudes + + aoutList = list(dataIn.shape) + aoutList[positionIn[0]] = self.nlato + # memory for aout + aout = numpy.zeros(tuple(aoutList), numpy.float32) + + # generate the mask + + amskin = sectionmask( + dataIn, + positionIn, + maskIn, + missingValueIn, + missingMatch) + + # ------------- call rgdlength to regrid latitude --------------- + + _regrid.rgdlength( + ilat, + itim1, + itim2, + ntim1, + ntim2, + self.nlati, + self.nlato, + omit, + self.latdx, + self.latpt, + self.wtlat, + amskin, + dataIn, + aout) + + # ------------- call rgdpressure to regrid pressure ------------- + + # allocate memory for ap -- the array with new number of levels and the + # new number of latitudes + + apList = list(dataIn.shape) + apList[positionIn[0]] = self.nlato + apList[positionIn[1]] = self.nlevo + # memory for ap + ap = numpy.zeros(tuple(apList), numpy.float32) + + nlon = 0 + if missingMatch is None: # if no missing do not pass None + missingMatch = 'none' + + # if no missing do not pass None + if missingValueIn is None: + missingValueIn = 1.333e33 + + if logYes != 'yes': + logYes = 'no' + + levIn = self.levIn[:].astype(numpy.float64) + levOut = self.levOut[:].astype(numpy.float64) + _regrid.rgdpressure( + self.nlevi, + self.nlevo, + self.nlato, + nlon, + ntim2, + missingValueIn, + missingMatch, + logYes, + levIn, + levOut, + aout, + ap) + + if missingMatch == 'none': # if no missing do not pass None + missingMatch = None + if missingValueIn == 1.333e33: + missingValueIn = None + + return ap + + +def checkdimension(x, name): + """ + purpose: dimension checks + 1. has a len method + 2. data type is float32 + 3. monotonically increasing vectors + + Parameters + ---------- + + x - coordinate vector + name - coordinate vector ID + + Returns + ------- + + x, xsize -- dimension vector and its size + + """ + + data = x[:] + try: + xsize = len(x) + except TypeError: + sendmsg('Hgrid instance error -- instance requires a ' + name) + raise TypeError + + if data.dtype.char != 'f': + x[:] = x[:].astype(numpy.float32) + + # ----- check for consistency ----- + + if x[0] > x[xsize - 1]: + for n in range(1, xsize): + if x[n] > x[n - 1]: + sendmsg('Hgrid instance error -- ' + name + 'not monotonic') + raise ValueError + return + else: + for n in range(1, xsize): + if x[n] < x[n - 1]: + sendmsg('Hgrid instance error -- ' + name + 'not monotonic') + raise ValueError + return + + return x, xsize + + +def generic_wts_bnds(lat): + try: + bnds = lat.getBounds() + if bnds is None: # No bounds defined + newLat = lat.clone() + newLat.setBounds(None) + bnds = lat.getBounds() + except BaseException: # just an array.... + newLat = cdms2.createAxis(lat) + newLat.setBounds(None) + bnds = newLat.getBounds() + outBnds = bnds[:, 0].tolist() + outBnds.append(bnds[-1][-1]) + outBnds = numpy.array(outBnds) + wts = [outBnds[i + 1] - outBnds[i] for i in range(len(lat))] + wts = numpy.array(wts) / numpy.sum(wts) + return wts, outBnds + + +def get_latitude_wts_bnds(checklatpass): + """ #------------------------------------------------------------------- + # + # routine: get_latitude_wts_bnds + # + # purpose: compare the passed checklatpass with the correct geophysical + # ones calculated here. After finding a match call the function + # to get the bounds. + # + # usage: wts,bnds = get_latitude_wts_bnds(checklatpass) + # where checklatpass is the grid to check + # + # return: wts, bnds - tuple with weights and bounds + # + #-------------------------------------------------------------------------""" + small = 0.001 # use as tolerance in checking values + + nlat = len(checklatpass) + + reverse_latitude = 'no' + + # ------ set latitude direction to n to s for comparisons ------- + + if checklatpass[0] < checklatpass[nlat - + 1]: # need a copy? + checklat = numpy.array(checklatpass, numpy.float64) + checklat = checklat[::-1] + reverse_latitude = 'yes' + else: + checklat = checklatpass + + # ------ check the pass for evenly spaced latitudes ------- + + firstdelta = abs(checklat[0] - checklat[1]) + maxdiff = 0.0 + for i in range(1, nlat - 1): + diff = abs(firstdelta - (checklat[i] - checklat[i + 1])) + if diff > maxdiff: + maxdiff = diff + + if maxdiff < small: + # if abs(90. - checklat[0]) > small or abs(-90. - + # checklat[nlat - 1]) > small: + # grid_type = 'even' # evenly spaced without poles + # wts, bnds = generic_wts_bnds(checklat) + # if reverse_latitude == 'yes': + # wts = wts[::-1] + # bnds = bnds[::-1] + # return (wts, bnds) + # else: + grid_type = 'uniform' # evenly spaced with poles + pts_wts_bnds = _regrid.gridattr(nlat, grid_type) + wts = pts_wts_bnds[1] + bnds = pts_wts_bnds[2] + if reverse_latitude == 'yes': + wts = wts[::-1] + bnds = bnds[::-1] + return (wts, bnds) + + # ------ check the pass for gaussian latitudes ------- + + grid_type = 'gaussian' + pts_wts_bnds = _regrid.gridattr(nlat, grid_type) + latvals = pts_wts_bnds[0] + laterror = max(abs(latvals - checklat)) + if laterror < small: + wts = pts_wts_bnds[1] + bnds = pts_wts_bnds[2] + if reverse_latitude == 'yes': + wts = wts[::-1] + bnds = bnds[::-1] + return (wts, bnds) + + # ------ check the pass for equalarea latitudes ------- + + grid_type = 'equalarea' + pts_wts_bnds = _regrid.gridattr(nlat, grid_type) + latvals = pts_wts_bnds[0] + laterror = max(abs(latvals - checklat)) + if laterror < small: + wts = pts_wts_bnds[1] + bnds = pts_wts_bnds[2] + if reverse_latitude == 'yes': + wts = wts[::-1] + bnds = bnds[::-1] + return (wts, bnds) + + # ------ must be generic latitude ------- + wts, bnds = generic_wts_bnds(checklat) + if reverse_latitude == 'yes': + wts = wts[::-1] + bnds = bnds[::-1] + return (wts, bnds) + + +def latitude_bounds(lat_bnds): + """ #------------------------------------------------------------------- + # + # purpose: set up the shape and bounds for use by maparea + # + # usage: + # + # returned: tuple ( bn,bs ) + # + #------------------------------------------------------------------------""" + + latbnds = lat_bnds.astype(numpy.float32) + + if latbnds[0] > latbnds[len(latbnds) - 1]: + bn = latbnds[:-1] + bs = latbnds[1:] + else: + bn = latbnds[1:] + bs = latbnds[:-1] + + return (bn, bs) + + +def get_region_latitude_wts_bnds(latRegionpass, latType, latSize): + """ #------------------------------------------------------------------- + # + # routine: get_region_latitude_wts_bnds + # + # purpose: compare the passed latitudes, latRegion, with the global + # ones calculated here and extract the wts and bounds for + # the region + # + # usage: wts,bnds = get_region_latitude_wts_bnds(latRegion, latType, latSize) + # where latRegion is the regional grid to check + # + # return: wts, bnds - tuple with weights and bounds + # + #-------------------------------------------------------------------------""" + + latTypeList = ['gaussian', 'equalarea', 'uniform', 'generic'] + + if latType not in latTypeList: + sendmsg( + "Error in latType -- it must be 'gaussian', 'equalarea', 'even' or 'generic' and not ", + latType) + raise ValueError + return + + if latSize is None: + sendmsg('Error in latSize -- it must be a number') + raise ValueError + return + + nlat = len(latRegionpass) + reverse_latitude = 'no' + + # ------ set latitude direction to n to s for comparisons ------- + + if latRegionpass[0] < latRegionpass[nlat - + 1]: # need a copy? + latRegion = numpy.array(latRegionpass, numpy.float64) + latRegion = latRegion[::-1] + reverse_latitude = 'yes' + else: + latRegion = latRegionpass + + small = 0.001 # use as tolerance in checking values + + # ------ check the pass for gaussian latitudes ------- + + if latType != 'generic': + # n to s global pts, wts and bnds + pts_wts_bnds = _regrid.gridattr(latSize, latType) + latvals = pts_wts_bnds[0] + + imatch = -1 + i = 0 + while(imatch == -1): + if abs(latvals[i] - latRegion[0]) < small: # first index found + startIndex = i + imatch = 0 + i = i + 1 + imatch = -1 + while(imatch == -1): + if abs(latvals[i] - latRegion[nlat - 1] + ) < small: # last index found + lastIndex = i + imatch = 0 + i = i + 1 + + wts = pts_wts_bnds[1][startIndex:lastIndex + 1] + bnds = pts_wts_bnds[2][startIndex:lastIndex + 2] + + if reverse_latitude == 'yes': + wts = wts[::-1] + bnds = bnds[::-1] + + return (wts, bnds) + +# else: # must be generic latitude ------- +# +# wts, bnds = generic_wts_bnds(latIn) +# if reverse_latitude == 'yes': +# wts = wts[::-1] +# bnds = bnds[::-1] +# return (wts, bnds) + + +def sectionmask(dataIn, positionIn, maskIn, missingValueIn, missingMatch): + """ #----------------------------------------------------------------------------------------- + # + # purpose: construct the mask for the input data for use by rgdlength + # + # usage: amskin = mask(dataIn, positionIn, maskIn, missingValueIn, missingValueOut, flag2D) + # + # returned: amskin + # + #----------------------------------------------------------------------------------------------""" + # Logic outline + # START NO USER MASK SECTION ? + # + # START USER MASK SECTION ? + # USER SUPPLIED MASK IS 2D ? + # USER SUPPLIED MASK IS FULL SIZE ? + + # ---- check the missingMatch pass -------- + + missingPossibilities = ['greater', 'equal', 'less', None] + if missingMatch not in missingPossibilities: + msg = 'Error in missingMatch -- it must be None or the string greater, equal, or less' + sendmsg(msg) + raise ValueError + + # ----- Check for missing data in dataIn, set missingFlag and miss, the va + + # missingFlag = 0 if there is no missing data + # missingFlag = 1 if there is missing data found using greater than missingValueIn + # missingFlag = 1 if there is missing data found using the default 1.0e20 + # missingFlag = 2 if there is missing data found using equal to missingValueIn + # missingFlag = 3 if there is missing data found using less than + # missingValueIn + + missingFlag = 0 + + # use value from the file + if missingValueIn is not None: + + if missingMatch == 'greater': + if missingValueIn > 0: + miss = 0.99 * missingValueIn + else: + miss = 1.01 * missingValueIn + n = numpy.add.reduce( + numpy.where( + numpy.greater( + numpy.ravel(dataIn), + miss), + 1, + 0)) + if n > 0: + missingFlag = 1 + + elif missingMatch == 'equal': + miss = missingValueIn + n = numpy.add.reduce( + numpy.where( + numpy.equal( + numpy.ravel(dataIn), + miss), + 1, + 0)) + if n > 0: + missingFlag = 2 + + elif missingMatch == 'less': + if missingValueIn > 0: + miss = 1.01 * missingValueIn + else: + miss = 0.99 * missingValueIn + n = numpy.add.reduce( + numpy.where( + numpy.less( + numpy.ravel(dataIn), + miss), + 1, + 0)) + if n > 0: + missingFlag = 3 + + # ----- get the shape of dataIn and set the number of dimensions in the da + + dataShape = dataIn.shape + # set size and check against positionIn + numberDataDim = len(dataShape) + + # remove the None fillers + reducedPositionIn = [] + for i in range(len(positionIn)): + if positionIn[i] is not None: + reducedPositionIn.append(positionIn[i]) + + if numberDataDim != len(reducedPositionIn): + msg = 'positionIn does not describe the number of dimensions in the data' + sendmsg(msg) + raise ValueError + + # ----- Determine the order of latitude and level in the data ------- + + # sequence is standard (lat,lon) + if positionIn[0] > positionIn[1]: + levlatFlag = 1 + else: + levlatFlag = 0 + + # ------------------------------------------------------------------------------------------------------ + # ----------------------------------------- Generate the mask ----------- + # ------------------------------------------------------------------------------------------------------ + + # ------------------------------------------------------------------------------------------------------ + # ---------- START NO USER MASK SECTION + + if maskIn is None: # ---- need to generate the mask from scratch ---- + + # allocate memory + amskin = numpy.ones(dataShape, numpy.float32) + + # ---------- START USER MASK SECTION + + else: # ---- use the users supplied mask ---- + + numberMaskDim = len(maskIn.shape) + + if numberMaskDim == 2: # ----------------------- USER SUPPLIED MASK IS 2D + + # mask shape is (lat,lon) + if levlatFlag == 1: + checkmaskShape = ( + dataShape[positionIn[1]], dataShape[positionIn[0]]) + # mask shape is (lon,lat) + else: + checkmaskShape = ( + dataShape[positionIn[0]], dataShape[positionIn[1]]) + + if maskIn.shape != checkmaskShape: # check the mask shape + msg = 'Error -- 2D mask supplied mask must have the same shape as corresponding slice in the input data' + sendmsg(msg) + raise IndexError + + # FINAL MASK IS FULL SIZED WITH USERS 2D MASK REPLICATED + + if numberDataDim > 2: + # replicate the mask to size of dataIn + amskin = numpy.resize(maskIn, dataShape) + + else: # ---------------------- USER SUPPLIED MASK IS FULL SIZE + + amskin = maskIn + + if numberMaskDim != numberDataDim: + msg = 'Error -- user supplied mask must be 2D or the size of the data' + sendmsg(msg) + raise IndexError + + if amskin.shape != dataIn.shape: + msg = 'Error -- full size mask supplied must have the same shape as the input data' + sendmsg(msg) + raise IndexError + + # there is missing data in dataIn to add to amskin + if missingFlag != 0: + if missingFlag == 1: + amskin = numpy.where(numpy.greater(dataIn, miss), 0.0, amskin) + elif missingFlag == 2: + amskin = numpy.where(numpy.equal(dataIn, miss), 0.0, amskin) + elif missingFlag == 3: + amskin = numpy.where(numpy.greater(dataIn, miss), 0.0, amskin) + + amskin = amskin.astype(numpy.float32) + + return amskin + + +def sendmsg(msg, value1=None, value2=None): + """ #--------------------------------------------------------------------------------- + # + # purpose: send the same message to the screen + # + # passed : msg - the string + # value - the number associated with the string + # + # returned: return + # + #---------------------------------------------------------------------------------""" + + print('*******************************************************************') + if value1 is None: + print(msg) + elif value2 is None: + print((msg, value1)) + else: + print((msg, value1, value2)) + print('*******************************************************************') + + return None + + +def section(latvals, levvals): + """ #--------------------------------------------------------------------------------- + # + # purpose: make the crossi section analytical test case + # + # passed : the grid coordinate vectors + # + # returned: xsection -- a temerature like cross section + # + #---------------------------------------------------------------------------------""" + + nlev = len(levvals) + + nlat = len(latvals) + theta = (math.pi / 180.) * latvals + + xsection = numpy.zeros((nlev, nlat), numpy.float32) # memory + + t0 = 60. + p0 = 1000. + + for j in range(nlat): + for i in range(nlev): + x = math.cos(theta[j])**2 + y = t0 * ((levvals[i] / p0)**.3) + xsection[i, j] = x * y - 30. + + return xsection + + +def rmserror(data1, data2): + """ #--------------------------------------------------------------------------------- + # + # purpose: compute the rms error for two data sets having the same shape + # + # passed : the two data sets + # + # returned: rms error + # + #---------------------------------------------------------------------------------""" + + if data1.shape != data2.shape: + print('Error in shape in rmserror') + print(('data1 shape = ', data1.shape)) + print(('data2 shape = ', data2.shape)) + raise ValueError + + d1 = numpy.ravel(data1) + d2 = numpy.ravel(data2) + + sq = (d1 - d2) * (d1 - d2) + error = numpy.sum(sq) / len(d1) + rmserror = numpy.sqrt(error) + + return rmserror + + +if __name__ == '__main__': + import math + + latIn = cdms2.createUniformLatitudeAxis(90.0, 46, -4.0) + levList = [10., 40., 75., 100., 150., 250., 350., 500., + 650., 850., 1000.] # pick some levels + levIn = cdms2.createAxis(numpy.array(levList, numpy.float64), id='level') + latOut = cdms2.createGaussianAxis(64) + levList = [10., 30., 50., 70., 100., 200., 300., 400., + 500., 700., 850., 1000.] # pick some levels + levOut = cdms2.createAxis(numpy.array(levList, numpy.float64), id='level') + + xregridf = CrossSectionRegridder(latIn, latOut, levIn, levOut) + + # make some artificial data + dataIn = section(latIn[:], levIn[:]) + var = cdms2.createVariable( + dataIn, axes=( + levIn, latIn), attributes={ + 'units': 'N/A'}, id='test') + + dataOut = xregridf(dataIn) + + # make the exact answer + dataCheck = section(latOut[:], levOut[:]) + # find the rms error + error = rmserror(dataOut, dataCheck) + + print('expected cross section test case rms error = 0.18581882') + # print 'expected cross section test case rms error = 0.23062' + print('calculated cross section test case rms error = ', error) diff --git a/regrid2/Lib/esmf.py b/regrid2/Lib/esmf.py index 5862332c..f6d49656 100644 --- a/regrid2/Lib/esmf.py +++ b/regrid2/Lib/esmf.py @@ -1,15 +1,16 @@ #!/usr/bin/env python -""" -Copyright (c) 2008-2012, Tech-X Corporation -All rights reserved. +# +# Copyright (c) 2008-2012, Tech-X Corporation +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the conditions +# specified in the license file 'license.txt' are met. +# +# Authors: David Kindig and Alex Pletzer +# -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the conditions -specified in the license file 'license.txt' are met. - -Authors: David Kindig and Alex Pletzer -""" import re import time import numpy @@ -36,15 +37,18 @@ class EsmfUnstructGrid: """ - Unstructured grid + Constructor + + Parameters + ---------- + numTopoDims + number of topological dimensions + + numSpaceDims + number of space dimensions """ def __init__(self, numTopoDims, numSpaceDims): - """ - Constructor - @param numTopoDims number of topological dimensions - @param numSpaceDims number of space dimensions - """ # handle to the grid object self.grid = None # whether or not nodes were added @@ -68,21 +72,35 @@ def __init__(self, numTopoDims, numSpaceDims): def setCells(self, cellIndices, cellTypes, connectivity, cellMask=None, cellAreas=None): """ - Set Cell connectivity - @param cell indices (0-based) - @param cellTypes one of ESMF_MESHELEMTYPE_{TRI,QUAD,TETRA,HEX} - @param connectivity node connectivity array, see below for node ordering - @param cellMask - @param cellAreas area (volume) of each cell + Set Cell connectivity. + + **Parameters** + + cellIndices : any + 0-based. + cellTypes : any + one of ESMF_MESHELEMTYPE_{TRI,QUAD,TETRA,HEX}. + connectivityNode: any + connectivity array, see below for node ordering. + cellMask : any + cellAreas area (volume) of each cell. + + + + Notes + ----- + +:: - 3 4 ---------- 3 - / \ | | - / \ | | - / \ | | - / \ | | - / \ | | - 1 --------- 2 1 ---------- 2 + 3 4-------------3 + /\ | | + / \ | | + / \ | | + / \ | | + / \ | | + / \ | | + 1------------2 1-------------2 @@ -115,9 +133,17 @@ def setCells(self, cellIndices, cellTypes, connectivity, def setNodes(self, indices, coords, peOwners=None): """ Set the nodal coordinates - @param indices Ids of the nodes (0-based) - @param coords nodal coordinates - @param peOwners processor ranks where the coordinates reside (0-based) + + Parameters + ---------- + indices : + Ids of the nodes (0-based) + + coords : + nodal coordinates + + peOwners : + processor ranks where the coordinates reside (0-based) """ n = len(indices) if not self.nodesAdded: @@ -131,7 +157,12 @@ def setNodes(self, indices, coords, peOwners=None): def toVTK(self, filename): """ Write grid to VTK file format - @param filename VTK file name + + Parameters + ---------- + filename : + VTK file name + """ self.grid.write(filename) @@ -144,25 +175,38 @@ def __del__(self): class EsmfStructGrid: """ Structured grid + + Parameters + ---------- + + shape : + Tuple of cell sizes along each axis + + coordSys : + coordinate system + ESMF.CoordSys.CART Cartesian + ESMF.CoordSys.SPH_DEG (default) Degrees + ESMF.CoordSys.SPH_RAD Radians + + periodicity : + Does the grid have a periodic coordinate + 0 No periodicity + 1 Periodic in x (1st) axis + 2 Periodic in x, y axes + + staggerloc : + ESMF stagger location. ESMF.StaggerLoc.XXXX + The stagger constants are listed at the top + + hasBounds : + If the grid has bounds, Run AddCoords for the bounds """ def __init__(self, shape, coordSys=ESMF.CoordSys.SPH_DEG, periodicity=0, staggerloc=ESMF.StaggerLoc.CENTER, hasBounds=False): """ - Constructor - @param shape Tuple of cell sizes along each axis - @param coordSys coordinate system - ESMF.CoordSys.CART Cartesian - ESMF.CoordSys.SPH_DEG (default) Degrees - ESMF.CoordSys.SPH_RAD Radians - @param periodicity Does the grid have a periodic coordinate - 0 No periodicity - 1 Periodic in x (1st) axis - 2 Periodic in x, y axes - @param staggerloc ESMF stagger location. ESMF.StaggerLoc.XXXX - The stagger constants are listed at the top - @param hasBounds If the grid has bounds, Run AddCoords for the bounds + """ # ESMF grid object self.grid = None @@ -216,8 +260,16 @@ def getLocalSlab(self, staggerloc): """ Get the local slab (ellipsis). You can use this to grab the data local to this processor - @param staggerloc (e.g. ESMF.StaggerLoc.CENTER) - @return tuple of slices + + Parameters + ----------- + staggerloc : + (e.g. ESMF.StaggerLoc.CENTER) + + + Returns + ------- + tuple of slices. """ lo, hi = self.getLoHiBounds(staggerloc) return tuple([slice(lo[i], hi[i], None) @@ -225,10 +277,17 @@ def getLocalSlab(self, staggerloc): def getLoHiBounds(self, staggerloc): """ - Get the local lo/hi index values for the coordinates (per processor) - (hi is not inclusive, lo <= index < hi) - @param staggerloc e.g. ESMF.StaggerLoc.CENTER - @return lo, hi lists + Get the local lo/hi index values for the coordinates (per processor) (hi is not inclusive, lo <= index < hi) + + Parameters + ---------- + staggerloc : + (e.g. ESMF.StaggerLoc.CENTER) + + + Returns + ------- + lo, hi lists. """ lo = self.grid.lower_bounds[staggerloc] hi = self.grid.upper_bounds[staggerloc] @@ -237,8 +296,16 @@ def getLoHiBounds(self, staggerloc): def getCoordShape(self, staggerloc): """ Get the local coordinate shape (may be different on each processor) - @param staggerloc (e.g. ESMF.StaggerLoc.CENTER) - @return tuple + + Parameters + ---------- + staggerloc: + (e.g. ESMF.StaggerLoc.CENTER) + + + Returns + ------- + tuple """ lo, hi = self.getLoHiBounds(staggerloc) return tuple([hi[i] - lo[i] for i in range(self.ndims)])[::-1] @@ -246,17 +313,22 @@ def getCoordShape(self, staggerloc): def setCoords(self, coords, staggerloc=CENTER, globalIndexing=False): """ Populate the grid with staggered coordinates (e.g. corner or center). - @param coords The curvilinear coordinates of the grid. - List of numpy arrays. Must exist on all procs. - @param staggerloc The stagger location - ESMF.StaggerLoc.CENTER (default) - ESMF.StaggerLoc.CORNER - @param globalIndexing if True array was allocated over global index - space, otherwise array was allocated over - local index space on this processor. This - is only relevant if rootPe is None - Note: coord dims in cdms2 are ordered in y, x, but ESMF expects x, y, - hence the dimensions are reversed here. + + Parameters + ---------- + coords : + The curvilinear coordinates of the grid. List of numpy arrays. Must exist on all procs. + + staggerloc : + The stagger location ESMF.StaggerLoc.CENTER (default) ESMF.StaggerLoc.CORNER + + globalIndexing: + if True array was allocated over global index space, otherwise array was allocated + over local index space on this processor. This is only relevant if rootPe is None + + Note + ---- + coord dims in cdms2 are ordered in y, x, but ESMF expects x, y, hence the dimensions are reversed here. """ # allocate space for coordinates, can only add coordinates once for i in range(self.ndims): @@ -271,8 +343,14 @@ def setCoords(self, coords, staggerloc=CENTER, globalIndexing=False): def getCoords(self, dim, staggerloc): """ Return the coordinates for a dimension - @param dim desired dimension (zero based indexing) - @param staggerloc Stagger location + + Parameters + ---------- + dim : + desired dimension (zero based indexing) + + staggerloc : + Stagger location """ gridPtr = self.grid.get_coords(coord_dim=dim, staggerloc=staggerloc) shp = self.getCoordShape(staggerloc)[::-1] @@ -281,7 +359,11 @@ def getCoords(self, dim, staggerloc): def setCellAreas(self, areas): """ Set the cell areas - @param areas numpy array + + Parameters + ---------- + areas : numpy array + """ self.grid.add_item(item=ESMF.GridItem.Area) areaPtr = self.grid.get_item( @@ -292,7 +374,10 @@ def setCellAreas(self, areas): def getCellAreas(self): """ - @return cell areas or None if setCellAreas was not called + + Returns + ------- + cell areas or None if setCellAreas was not called """ if self.cellAreasSet: areaPtr = self.grid.get_item( @@ -305,7 +390,15 @@ def getCellAreas(self): def getMask(self, staggerloc=CENTER): """ Get mask array. In ESMF, the mask is applied to cells. - @return mask numpy array. 1 is invalid by default. This array exists on all procs + + Returns + ------- + mask numpy array + 1 is invalid by default + + Note + ---- + This array exists on all procs """ try: maskPtr = self.grid.get_item( @@ -317,8 +410,18 @@ def getMask(self, staggerloc=CENTER): def setMask(self, mask, staggerloc=CENTER): """ Set mask array. In ESMF, the mask is applied to cells. - @param mask numpy array. 1 is invalid by default. This array exists - on all procs + + Returns + ------- + mask numpy array + 1 is invalid by default + + + Note + ---- + This array exists on all procs + + """ self.grid.add_item(item=ESMF.GridItem.MASK, staggerloc=staggerloc) maskPtr = self.grid.get_item( @@ -336,17 +439,30 @@ def __del__(self): class EsmfStructField: """ Structured field. + + Creator for structured ESMF Field + + Parameters + ---------- + + esmfGrid + instance of an ESMF + + name field + name (must be unique) + + datatype + data type, one of 'float64', 'float32', 'int64', or 'int32' + (or equivalent numpy dtype) + + staggerloc + ESMF.StaggerLoc.CENTER + ESMF.StaggerLoc.CORNER """ def __init__(self, esmfGrid, name, datatype, staggerloc=CENTER): """ - Creator for structured ESMF Field - @param esmfGrid instance of an ESMF - @param name field name (must be unique) - @param datatype data type, one of 'float64', 'float32', 'int64', or 'int32' - (or equivalent numpy dtype) - @param staggerloc ESMF.StaggerLoc.CENTER - ESMF.StaggerLoc.CORNER + """ # field object self.field = None @@ -392,17 +508,27 @@ def __init__(self, esmfGrid, name, datatype, staggerloc=CENTER): def getPointer(self): """ Get field data as a flat array - @return pointer + + Returns + ------- + flat array pointer. """ return numpy.ravel(self.field.data) def getData(self, rootPe): """ Get field data as a numpy array - @param rootPe if None then local data will be fetched, otherwise - gather the data on processor "rootPe" (all other - procs will return None). - @return numpy array or None + + Parameters + ---------- + rootPe : + if None then local data will be fetched, otherwise gather the + data on processor "rootPe" (all other procs will return None). + + Returns + ------- + numpy array or None. + """ ptr = self.getPointer() if rootPe is None: @@ -446,12 +572,19 @@ def getData(self, rootPe): def setLocalData(self, data, staggerloc, globalIndexing=False): """ Set local field data - @param data full numpy array, this method will take care of setting a - the subset of the data that reside on the local processor - @param staggerloc stagger location of the data - @param globalIndexing if True array was allocated over global index - space, array was allocated over local index - space (on this processor) + + Parameters + ---------- + data : + full numpy array, this method will take care of setting + a the subset of the data that reside on the local processor + + staggerloc : + stagger location of the data + + globalIndexing : + if True array was allocated over global index space, array + was allocated over local index space (on this processor) """ ptr = self.field.data if globalIndexing: @@ -466,6 +599,29 @@ def setLocalData(self, data, staggerloc, globalIndexing=False): class EsmfRegrid: """ Regrid source grid data to destination grid data + + Constuct regrid object + + Parameters + ---------- + srcField : + the source field object of type EsmfStructFields + dstField : + the destination field object of type EsmfStructField + srcMaskValues : + Value of masked cells in source + dstMaskValues : + Value of masked cells in destination + srcFrac : + Cell fractions on source grid (type EsmfStructField + dstFrac : + Cell fractions on destination grid (type EsmfStructField) + regridMethod : + ESMF.RegridMethod.{BILINEAR,CONSERVE,PATCH} + unMappedAction : + ESMF.UnmappedAction.{IGNORE,ERROR} + ignoreDegenerate : + Ignore degenerate cells when checking inputs """ def __init__(self, srcField, dstField, @@ -477,16 +633,7 @@ def __init__(self, srcField, dstField, ignoreDegenerate=False, unMappedAction=IGNORE): """ - Constuct regrid object - @param srcField the source field object of type EsmfStructField - @param dstField the destination field object of type EsmfStructField - @param srcMaskValues Value of masked cells in source - @param dstMaskValues Value of masked cells in destination - @param srcFrac Cell fractions on source grid (type EsmfStructField) - @param dstFrac Cell fractions on destination grid (type EsmfStructField) - @param regridMethod ESMF.RegridMethod.{BILINEAR,CONSERVE,PATCH} - @param unMappedAction ESMF.UnmappedAction.{IGNORE,ERROR} - @param ignoreDegenerate Ignore degenerate cells when checking inputs + """ self.srcField = srcField self.dstField = dstField @@ -554,9 +701,16 @@ def __init__(self, srcField, dstField, def getSrcAreas(self, rootPe): """ Get the src grid areas as used by conservative interpolation - @param rootPe None is local areas are returned, otherwise - provide rootPe and the data will be gathered - @return numpy array or None if interpolation is not conservative + + **Parameters:** + + rootPe + None is local areas are returned, otherwise provide rootPe and the data will be gathered + + + **Returns:** + + numpy array or None if interpolation is not conservative """ if self.srcAreaField is not None: return self.srcAreaField.data.T @@ -565,9 +719,16 @@ def getSrcAreas(self, rootPe): def getDstAreas(self, rootPe): """ Get the dst grid areas as used by conservative interpolation - @param rootPe None is local areas are returned, otherwise - provide rootPe and the data will be gathered - @return numpy array or None if interpolation is not conservative + + **Parameters:** + + rootPe + None is local areas are returned, otherwise provide rootPe and the data will be gathered + + + **Returns:** + + numpy array or None if interpolation is not conservative """ if self.srcAreaField is not None: return self.dstAreaField.data.T @@ -576,9 +737,16 @@ def getDstAreas(self, rootPe): def getSrcAreaFractions(self, rootPe): """ Get the source grid fraction areas as used by conservative interpolation - @param rootPe None is local areas are returned, otherwise - provide rootPe and the data will be gathered - @return numpy array + + **Parameters:** + + rootPe + None is local areas are returned, otherwise provide rootPe and the data will be gathered + + + **Returns:** + + numpy array """ if self.srcFracField is not None: # self.srcFracField.get_area() @@ -588,9 +756,16 @@ def getSrcAreaFractions(self, rootPe): def getDstAreaFractions(self, rootPe): """ Get the destination grid fraction areas as used by conservative interpolation - @param rootPe None is local areas are returned, otherwise - provide rootPe and the data will be gathered - @return numpy array + + **Parameters:** + + rootPe + None is local areas are returned, otherwise provide rootPe and the data will be gathered + + + **Returns:** + + numpy array """ if self.dstFracField is not None: # self.dstFracField.get_area() @@ -600,11 +775,18 @@ def getDstAreaFractions(self, rootPe): def __call__(self, srcField=None, dstField=None, zero_region=None): """ Apply interpolation weights - @param srcField source field (or None if src field passed to - constructor is to be used) - @param dstField destination field (or None if dst field passed - to constructor is to be used) - @param zero_region specify which region of the field indices will be zeroed (or None default to TOTAL Region) + + Parameters + ---------- + + srcField + source field (or None if src field passed to constructor is to be used) + + dstField + destination field (or None if dst field passed to constructor is to be used) + + zero_region + specify which region of the field indices will be zeroed (or None default to TOTAL Region) """ if srcField is None: srcField = self.srcField diff --git a/regrid2/Lib/gsRegrid.py b/regrid2/Lib/gsRegrid.py index 5a95c2fd..84469033 100644 --- a/regrid2/Lib/gsRegrid.py +++ b/regrid2/Lib/gsRegrid.py @@ -1,10 +1,10 @@ -#!/usr/bin/env python - +# !/usr/bin/env python +# Alex Pletzer and Dave Kindig, Tech-X (2011) +# This code is provided with the hope that it will be useful. +# No guarantee is provided whatsoever. Use at your own risk. """ Regridding of curvilinear structured grids -Alex Pletzer and Dave Kindig, Tech-X (2011) -This code is provided with the hope that it will be useful. -No guarantee is provided whatsoever. Use at your own risk. + """ # standard python includes # from re import search, sub @@ -44,10 +44,23 @@ def getTensorProduct(axis, dim, dims): """ Convert an axis into a curvilinear coordinate by applying a tensor product - @param axis 1D array of coordinates - @param dim dimensional index of the above coordinate - @param dims sizes of all coordinates - @return coordinate values obtained by tensor product + + Parameters + ---------- + + axis + 1D array of coordinates + + dim + dimensional index of the above coordinate + + dims + sizes of all coordinates + + Returns + ------- + + coordinate values obtained by tensor product """ return numpy.outer(numpy.outer(numpy.ones(dims[:dim], axis.dtype), axis), numpy.ones(dims[dim + 1:], axis.dtype)).reshape(dims) @@ -57,8 +70,18 @@ def makeCurvilinear(coords): """ Turn a mixture of axes and curvilinear coordinates into full curvilinear coordinates - @param coords list of coordinates - @return new list of coordinates and associated dimensions + + Parameters + ---------- + + coords + list of coordinates + _: None + + Returns + ------- + + new list of coordinates and associated dimensions """ rank = len(coords) @@ -99,10 +122,20 @@ def makeCurvilinear(coords): def makeCoordsCyclic(coords, dims): """ Make coordinates cyclic - @params coords input coordinates - @params dims input dimensions - @return new, extended coordinates such that the longitudes cover the sphere - and new dimensions + + Parameters + ---------- + + coords + input coordinates + + dims + input dimensions + + Returns + ------- + + new, extended coordinates such that the longitudes cover the sphere and new dimensions """ # assume lon is the last coordinate!! @@ -156,10 +189,20 @@ def checkForCoordCut(coords, dims): Look for a cut in a coordinate system (e.g. tri-polar grid) Assume latitude is next to last coordinate and longitude is last coordinate!!! - @params coords input coordinates - @params dims input dimensions - @return True for cut found - False for no cut + Parameters + ---------- + + coords + input coordinates + + dims + input dimensions + + Returns + ------- + + True for cut found + False for no cut """ # Assume latitude is next to last coordinate and longitude is last @@ -254,11 +297,22 @@ def handleCoordsCut(coords, dims, bounds): Generate connectivity across a cut. e.g. from a tri-polar grid. Assume latitude is next to last coordinate and longitude is last coordinate!!! - @params coords input coordinates list of rank - @params dims input dimensions - @params bounds boundaries for each coordinate - @return extended coordinates such that there is an extra row containing - connectivity information across the cut + Parameters + ---------- + + coords + input coordinates list of rank + + dims + input dimensions + + bounds + boundaries for each coordinate + + Returns + ------- + + extended coordinates such that there is an extra row containing connectivity information across the cut """ # Assume latitude is next to last coordinate and longitude is @@ -271,10 +325,23 @@ def handleCoordsCut(coords, dims, bounds): def getIndices(array, nlon, newI): """ Find indices where a cell edge matches for two cells - @param array Array of booleans - @param nlon number of longitudes - @param newI index row with connectivity to be updated - @return new coordinates, new dimensions, index row + + Parameters + ---------- + + array + Array of booleans + + nlon + number of longitudes + + newI + index row with connectivity to be updated + + Returns + ------- + + new coordinates, new dimensions, index row """ for i in range(len(array)): # An edge @@ -304,24 +371,35 @@ def getIndices(array, nlon, newI): class Regrid: + """ + Constructor + + Parameters + ---------- + src_grid + source grid, a list of [x, y, ...] coordinates or a cdms2.grid.Transient + dst_grid + destination grid, a list of [x, y, ...] coordinate + src_bounds + list of cell bounding coordinates (to be used when handling a cut in coordinates) + mkCyclic + Add a column to the right side of the grid to complete a cyclic grid + handleCut + Add a row to the top of grid to handle a cut for grids such as the tri-polar + grid verbose print diagnostic messages + + Note + ---- + the grid coordinates can either be axes (rectilinear grid) or n-dimensional + for curvilinear grids. Rectilinear grids will be converted to curvilinear grids. + """ + def __init__(self, src_grid, dst_grid, src_bounds=None, mkCyclic=False, handleCut=False, verbose=False): """ Constructor - @param src_grid source grid, a list of [x, y, ...] coordinates - or a cdms2.grid.Transient - @param dst_grid destination grid, a list of [x, y, ...] coordinates - @param src_bounds list of cell bounding coordinates (to be used when - handling a cut in coordinates) - @param mkCyclic Add a column to the right side of the grid to complete - a cyclic grid - @param handleCut Add a row to the top of grid to handle a cut for - grids such as the tri-polar grid - @param verbose print diagnostic messages - @note the grid coordinates can either be axes (rectilinear grid) or - n-dimensional for curvilinear grids. Rectilinear grids will - be converted to curvilinear grids. + """ self.regridid = c_int(-1) self.src_gridid = c_int(-1) @@ -489,7 +567,11 @@ def __init__(self, src_grid, dst_grid, src_bounds=None, mkCyclic=False, def getPeriodicities(self): """ Get the periodicity lengths of the coordinates - @return numpy array, values inf indicate no periodicity + + Returns + ------- + + numpy array, values inf indicate no periodicity """ coord_periodicity = numpy.zeros((self.rank,), numpy.float64) status = self.lib.nccf_inq_grid_periodicity(self.src_gridid, @@ -529,11 +611,17 @@ def find(self, pattern, path): def setValidMask(self, inMask): """ Set valid mask array for the grid - @param inMask flat numpy array of type numpy.int32 or a valid cdms2 variable - with its mask set. - 0 - invalid, 1 - valid data - @note This must be invoked before computing the weights, the - mask is a property of the grid (not the data). + + Parameters + ---------- + + inMask + flat numpy array of type numpy.int32 or a valid cdms2 variable with its mask set. + 0 - invalid, 1 - valid data + + _: None + + Note: This must be invoked before computing the weights, the mask is a property of the grid (not the data). """ if self.weightsComputed: raise RegridError('Must set mask before computing weights') @@ -552,12 +640,22 @@ def setValidMask(self, inMask): def setMask(self, inDataOrMask): """ Set mask array. The mask is defined for nodes - @param inDataOrMask cdms2 array or flat mask array, - 0 - valid data - 1 - invalid data - @note this definition is compatible with the numpy masked arrays - @note see setValidMask for the opposite definition - @note should be called before computing the weights + + Parameters + ---------- + + inDataOrMask + cdms2 array or flat mask array, + 0 - valid data + 1 - invalid data + + _: None + + Note: this definition is compatible with the numpy masked arrays + + Note: note see setValidMask for the opposite definition + + Note: should be called before computing the weights """ mask = None if hasattr(inDataOrMask, 'getmask'): @@ -575,9 +673,14 @@ def computeWeights(self, nitermax=100, tolpos=1.e-2): """ Compute the the interpolation weights - @param nitermax max number of iterations - @param tolpos max tolerance when locating destination positions in - index space + Parameters + ---------- + + nitermax + max number of iterations + + tolpos + max tolerance when locating destination positions in index space """ status = self.lib.nccf_compute_regrid_weights(self.regridid, nitermax, @@ -588,10 +691,19 @@ def computeWeights(self, nitermax=100, tolpos=1.e-2): def apply(self, src_data_in, dst_data, missingValue=None): """ Apply interpolation - @param src_data data on source grid - @param dst_data data on destination grid - @param missingValue value that should be set for points falling outside the src domain, - pass None if these should not be touched. + + Parameters + ---------- + + src_data + data on source grid + + dst_data + data on destination grid + + missingValue + value that should be set for points falling outside + the src domain, pass None if these should not be touched. """ if not self.weightsComputed: raise RegridError('Weights must be set before applying the regrid') @@ -701,10 +813,19 @@ def apply(self, src_data_in, dst_data, missingValue=None): def __call__(self, src_data, dst_data, missingValue=None): """ Apply interpolation (synonymous to apply method) - @param src_data data on source grid - @param dst_data data on destination grid - @param missingValue value that should be set for points falling outside the src domain, - pass None if these should not be touched. + + Parameters + ---------- + + src_data + data on source grid + + dst_data + data on destination grid + + missingValue + value that should be set for points falling outside the src domain, + pass None if these should not be touched. """ self.apply(src_data, dst_data, missingValue) @@ -714,7 +835,11 @@ def getNumValid(self): falling outside the source domain, more gnerally, points which could not be located on the source grid, reduce the number of valid points. - @return number of points + + Returns + ------- + + number of points """ res = c_int(-1) status = self.lib.nccf_inq_regrid_nvalid(self.regridid, @@ -725,7 +850,11 @@ def getNumValid(self): def getNumDstPoints(self): """ Return the number of points on the destination grid - @return number of points + + Returns + ------- + + number of points """ res = c_int(-1) status = self.lib.nccf_inq_regrid_ntargets(self.regridid, @@ -736,22 +865,41 @@ def getNumDstPoints(self): def getSrcGrid(self): """ Return the source grid - @return grid + + Returns + ------- + + grid """ return self.src_coords def getDstGrid(self): """ Return the destination grid - @return grid + + Returns + ------- + + grid """ return self.dst_coords def getIndicesAndWeights(self, dst_indices): """ Get the indices and weights for a single target location - @param dst_indices index set on the target grid - @return [index sets on original grid, weights] + + Parameters + ---------- + + dst_indices + index set on the target grid + + _: None + + Returns + ------- + + [index sets on original grid, weights] """ dinds = numpy.array(dst_indices) sinds = (c_int * 2**self.rank)() @@ -777,8 +925,15 @@ def _extend(self, src_data): """ Extend the data by padding a column and a row, depending on whether the grid was made cyclic and a fold was added or not - @param src_data input source data - @return extended source data (or source input data of no padding was applied) + + Parameters + ---------- + src_data : + input source data + + Returns + ------- + extended source data (or source input data of no padding was applied) """ # nlatX, nlonX = self.src_dims[-2], self.src_dims[-1] @@ -811,11 +966,26 @@ def _findIndices(self, targetPos, nitermax, tolpos, dindicesGuess): """ Find the floating point indices - @param targetPos numpy array of target positions - @param nitermax max number of iterations - @param tolpos max toelrance in positions - @param dindicesGuess guess for the floating point indices - @return indices, number of iterations, achieved tolerance + + Parameters + ---------- + + targetPos + numpy array of target positions + + nitermax + max number of iterations + + tolpos + max toelrance in positions + + dindicesGuess + guess for the floating point indices + + Returns + ------- + + indices, number of iterations, achieved tolerance """ posPtr = targetPos.ctypes.data_as(POINTER(c_double)) adjustFunc = None diff --git a/regrid2/Lib/horizontal.py b/regrid2/Lib/horizontal.py index 17438f26..329a281a 100644 --- a/regrid2/Lib/horizontal.py +++ b/regrid2/Lib/horizontal.py @@ -2,7 +2,8 @@ import numpy import copy -from . import _regrid +# from . import _regrid +import regrid2._regrid as _regrid from .error import RegridError import warnings import cdms2 @@ -32,8 +33,15 @@ class Horizontal: def __init__(self, ingrid, outgrid): """ Constructor for regridding class - @param ingrid cdms2, ndarray variable - @param outgrid cdms2, ndarray variable + + Parameters + ---------- + + ingrid cdms2, + ndarray variable + + outgrid cdms2, + ndarray variable """ inlat = ingrid.getLatitude() @@ -84,14 +92,26 @@ def __call__(self, ar, missing=None, order=None, mask=None, returnTuple=0, **args): """ Call the regridder function. - @param ar is the input array. - @param order is of the form "tzyx", "tyx", etc. - @param missing is the missing data value, if any. - @param mask is either 2-D or the same shape as ar. - @param returnTuple If true, return the tuple (outArray, outWeights) where - outWeights is the fraction of each zone of the output grid - which overlaps non-missing zones of the input grid; it has - the same shape as the output array. + + Parameters + ---------- + + ar : + is the input array. + + order : + is of the form "tzyx", "tyx", etc. + + missing : + is the missing data value, if any. + + mask : + is either 2-D or the same shape as ar. + + returnTuple : + If true, return the tuple (outArray, outWeights) where outWeights is + the fraction of each zone of the output grid which overlaps non-missing + zones of the input grid; it has the same shape as the output array. """ from cdms2.avariable import AbstractVariable @@ -358,18 +378,9 @@ def __init__(self, ingrid, outgrid): def input_mask(ain, type, mask, missing=None): - """ #------------------------------------------------------------------- - # - # purpose: set up the input mask including missing from ain - # - # usage: - # - # passed : - # - # returned: - # - # - #------------------------------------------------------------------------""" + """ + set up the input mask including missing from ain + """ if type != 'h' and type != 'v': raise ValueError('Mask type must be h or v') return diff --git a/regrid2/Lib/mvESMFRegrid.py b/regrid2/Lib/mvESMFRegrid.py index 9310a608..f54875e3 100644 --- a/regrid2/Lib/mvESMFRegrid.py +++ b/regrid2/Lib/mvESMFRegrid.py @@ -1,10 +1,11 @@ -""" -ESMF regridding class +# This code is provided with the hope that it will be useful. +# No guarantee is provided whatsoever. Use at your own risk. +# +# David Kindig and Alex Pletzer, Tech-X Corp. (2012) -This code is provided with the hope that it will be useful. -No guarantee is provided whatsoever. Use at your own risk. -David Kindig and Alex Pletzer, Tech-X Corp. (2012) +""" +ESMF regridding class """ import re import numpy @@ -37,6 +38,42 @@ class ESMFRegrid(GenericRegrid): """ Regrid class for ESMF + Constructor + + Parameters + ---------- + + srcGridShape + tuple source grid shape + + dstGridShape + tuple destination grid shape + + dtype + a valid numpy data type for the src/dst data + + regridMethod + 'linear', 'conserve', or 'patch' + + staggerLoc + the staggering of the field, 'center' or 'corner' + + periodicity + 0 (no periodicity), + 1 (last coordinate is periodic, + 2 (both coordinates are periodic) + + coordSys + 'deg', 'cart', or 'rad' + + hasSrcBounds + tuple source bounds shape + + hasDstBounds + tuple destination bounds shape + + ignoreDegenerate + Ignore degenerate celss when checking inputs """ def __init__(self, srcGridshape, dstGridshape, dtype, @@ -46,19 +83,7 @@ def __init__(self, srcGridshape, dstGridshape, dtype, ignoreDegenerate=False, **args): """ - Constructor - @param srcGridShape tuple source grid shape - @param dstGridShape tuple destination grid shape - @param dtype a valid numpy data type for the src/dst data - @param regridMethod 'linear', 'conserve', or 'patch' - @param staggerLoc the staggering of the field, 'center' or 'corner' - @param periodicity 0 (no periodicity), - 1 (last coordinate is periodic, - 2 (both coordinates are periodic) - @param coordSys 'deg', 'cart', or 'rad' - @param hasSrcBounds tuple source bounds shape - @param hasDstBounds tuple destination bounds shape - @param ignoreDegenerate Ignore degenerate celss when checking inputs + """ # esmf grid objects (tobe constructed) @@ -196,18 +221,29 @@ def setCoords(self, srcGrid, dstGrid, globalIndexing=False, **args): """ Populator of grids, bounds and masks - @param srcGrid list [[z], y, x] of source grid arrays - @param dstGrid list [[z], y, x] of dstination grid arrays - @param srcGridMask list [[z], y, x] of arrays - @param srcBounds list [[z], y, x] of arrays - @param srcGridAreas list [[z], y, x] of arrays - @param dstGridMask list [[z], y, x] of arrays - @param dstBounds list [[z], y, x] of arrays - @param dstGridAreas list [[z], y, x] of arrays - @param globalIndexing if True array was allocated over global index - space, otherwise array was allocated over - local index space on this processor. This - is only relevant if rootPe is None + + Parameters + ---------- + srcGrid + list [[z], y, x] of source grid arrays + dstGrid + list [[z], y, x] of dstination grid arrays + srcGridMask + list [[z], y, x] of arrays + srcBounds + list [[z], y, x] of arrays + srcGridAreas + list [[z], y, x] of arrays + dstGridMask + list [[z], y, x] of array + dstBounds + list [[z], y, x] of arrays + dstGridAreas + list [[z], y, x] of arrays + globalIndexing + if True array was allocated over global index space, + otherwise array was allocated over local index space on + this processor. This is only relevant if rootPe is None """ # create esmf source Grid @@ -260,7 +296,14 @@ def setCoords(self, srcGrid, dstGrid, def computeWeights(self, **args): """ Compute interpolation weights - @param **args (not used) + + Parameters + ---------- + + **args + (not used) + + _: None """ self.regridObj = ESMF.Regrid(srcfield=self.srcFld.field, dstfield=self.dstFld.field, @@ -278,25 +321,31 @@ def apply(self, srcData, dstData, rootPe, globalIndexing=False, **args): Source data mask: - . If you provide srcDataMask in args the source grid will - be masked and weights will be recomputed. + . If you provide srcDataMask in args the source grid will be + masked and weights will be recomputed. - . Subsequently, if you do not provide a srcDataMask the last - weights will be used to regrid the source data array. + . Subsequently, if you do not provide a srcDataMask the last weights will + be used to regrid the source data array. . By default, only the data are masked, but not the grid. - @param srcData array source data, shape should - cover entire global index space - @param dstData array destination data, shape should - cover entire global index space - @param rootPe if other than None, then data will be MPI gathered - on the specified rootPe processor - @param globalIndexing if True array was allocated over global index - space, otherwise array was allocated over - local index space on this processor. This - is only relevant if rootPe is None - @param **args + Parameters + ---------- + + srcData + array source data, shape should cover entire global index space + + dstData + array destination data, shape should cover entire global index space + + rootPe + if other than None, then data will be MPI gathered on the specified rootPe processor + + globalIndexing + if True array was allocated over global index space, otherwise array was allocated + over local index space on this processor. This is only relevant if rootPe is None + + **args """ # if args.has_key('srcDataMask'): @@ -321,7 +370,10 @@ def apply(self, srcData, dstData, rootPe, globalIndexing=False, **args): self.dstFld.field.data[:] = dstData.T # regrid - self.regridObj(self.srcFld.field, self.dstFld.field, zero_region=zero_region) + self.regridObj( + self.srcFld.field, + self.dstFld.field, + zero_region=zero_region) # fill in dstData if rootPe is None and globalIndexing: @@ -338,7 +390,10 @@ def apply(self, srcData, dstData, rootPe, globalIndexing=False, **args): def getDstGrid(self): """ Get the destination grid on this processor - @return grid + + Returns + ------- + grid """ return [self.dstGrid.getCoords(i, staggerloc=self.staggerloc) for i in range(self.ndims)] @@ -346,9 +401,18 @@ def getDstGrid(self): def getSrcAreas(self, rootPe): """ Get the source grid cell areas - @param rootPe root processor where data should be gathered (or - None if local areas are to be returned) - @return areas or None if non-conservative interpolation + +Parameters +---------- + rootPe + root processor where data should be gathered (or None if local areas are to be returned) + + _: None + + Returns + ------- + areas + or None if non-conservative interpolation """ if self.regridMethod == CONSERVE: # self.srcAreaField.field.get_area() @@ -359,9 +423,20 @@ def getSrcAreas(self, rootPe): def getDstAreas(self, rootPe): """ Get the destination grid cell areas - @param rootPe root processor where data should be gathered (or - None if local areas are to be returned) - @return areas or None if non-conservative interpolation + + Parameters + ---------- + + rootPe + root processor where data should be gathered (or None if local areas are to be returned) + + _: None + + + Returns + ------- + + areas or None if non-conservative interpolation """ if self.regridMethod == CONSERVE: # self.dstAreaField.field.get_area() @@ -372,9 +447,20 @@ def getDstAreas(self, rootPe): def getSrcAreaFractions(self, rootPe): """ Get the source grid area fractions - @param rootPe root processor where data should be gathered (or - None if local areas are to be returned) - @return fractional areas or None (if non-conservative) + +Parameters +---------- + + rootPe + root processor where data should be gathered (or None if local areas are to be returned) + + _: None + + + Returns + ------- + + fractional areas or None (if non-conservative) """ if self.regridMethod == CONSERVE: return self.srcFracField.field.data @@ -384,9 +470,20 @@ def getSrcAreaFractions(self, rootPe): def getDstAreaFractions(self, rootPe): """ Get the destination grid area fractions - @param rootPe root processor where data should be gathered (or - None if local areas are to be returned) - @return fractional areas or None (if non-conservative) + + Parameters + ---------- + + rootPe + root processor where data should be gathered (or None if local areas are to be returned) + + _: None + + Returns + ------- + + fractional areas + or None (if non-conservative) """ if self.regridMethod == CONSERVE: return self.dstFracField.field.data @@ -395,10 +492,20 @@ def getDstAreaFractions(self, rootPe): def getSrcLocalShape(self, staggerLoc): """ - Get the local source coordinate/data shape - (may be different on each processor) - @param staggerLoc (e.g. 'center' or 'corner') - @return tuple + Get the local source coordinate/data shape (may be different on each processor) + + Parameters + ---------- + + staggerLoc + (e.g. 'center' or 'corner') + + _: None + + Returns + ------- + + tuple """ stgloc = CENTER if re.match('corner', staggerLoc, re.I) or \ @@ -411,10 +518,20 @@ def getSrcLocalShape(self, staggerLoc): def getDstLocalShape(self, staggerLoc): """ - Get the local destination coordinate/data shape - (may be different on each processor) - @param staggerLoc (e.g. 'center' or 'corner') - @return tuple + Get the local destination coordinate/data shape (may be different on each processor) + + Parameters + ---------- + + staggerLoc + (e.g. 'center' or 'corner') + + _: None + + Returns + ------- + + tuple """ stgloc = CENTER if re.match('corner', staggerLoc, re.I) or \ @@ -427,10 +544,21 @@ def getDstLocalShape(self, staggerLoc): def getSrcLocalSlab(self, staggerLoc): """ - Get the destination local slab (ellipsis). You can use - this to grab the data local to this processor - @param staggerLoc (e.g. 'center'): - @return tuple of slices + Get the destination local slab (ellipsis). You can use this to grab the data + local to this processor + + Parameters + ---------- + + staggerLoc + (e.g. 'center'): + + _: None + + Returns + ------- + + tuple of slices """ stgloc = CENTER if re.match('corner', staggerLoc, re.I) or \ @@ -443,10 +571,21 @@ def getSrcLocalSlab(self, staggerLoc): def getDstLocalSlab(self, staggerLoc): """ - Get the destination local slab (ellipsis). You can use - this to grab the data local to this processor - @param staggerLoc (e.g. 'center') - @return tuple of slices + Get the destination local slab (ellipsis). You can use this to grab the data local to this + processor + + Parameters + ---------- + + staggerLoc + (e.g. 'center') + + _: None + + Returns + ------- + + tuple of slices """ stgloc = CENTER if re.match('corner', staggerLoc, re.I) or \ @@ -460,11 +599,16 @@ def getDstLocalSlab(self, staggerLoc): def fillInDiagnosticData(self, diag, rootPe): """ Fill in diagnostic data - @param diag a dictionary whose entries, if present, will be filled - valid entries are: 'srcAreaFractions', 'dstAreaFractions', - 'srcAreas', 'dstAreas' - @param rootPe root processor where data should be gathered (or - None if local areas are to be returned) + + Parameters + ---------- + + diag + a dictionary whose entries, if present, will be filled valid + entries are: 'srcAreaFractions', 'dstAreaFractions', srcAreas', 'dstAreas' + + rootPe + root processor where data should be gathered (or None if local areas are to be returned) """ oldMethods = {} oldMethods['srcAreaFractions'] = 'getSrcAreaFractions' diff --git a/regrid2/Lib/mvGenericRegrid.py b/regrid2/Lib/mvGenericRegrid.py index 2452e9c4..23786c12 100644 --- a/regrid2/Lib/mvGenericRegrid.py +++ b/regrid2/Lib/mvGenericRegrid.py @@ -1,10 +1,10 @@ +# This code is provided with the hope that it will be useful. +# No guarantee is provided whatsoever. Use at your own risk. +# +# David Kindig and Alex Pletzer, Tech-X Corp. (2012) + """ Generic interface to multiple regrid classes. No dependence on cdms2 variables. - -This code is provided with the hope that it will be useful. -No guarantee is provided whatsoever. Use at your own risk. - -David Kindig and Alex Pletzer, Tech-X Corp. (2012) """ import operator import numpy @@ -21,8 +21,15 @@ def guessPeriodicity(srcBounds): """ Guess if a src grid is periodic - @param srcBounds the nodal src set of coordinates - @return 1 if periodic, warp around, 0 otherwise + + **Parameters:** + + srcBounds + the nodal src set of coordinates + + **Returns:** + + 1 if periodic, warp around, 0 otherwise """ res = 0 if srcBounds is not None: @@ -42,6 +49,49 @@ def guessPeriodicity(srcBounds): class GenericRegrid: """ Generic Regrid class. + + Constructor + + + Parameters + ---------- + + srcGrid + list of numpy arrays, source horizontal coordinates + + dstGrid + list of numpy arrays, destination horizontal coordinate + dtype + numpy data type for src/dst data + + regridMethod + linear (bi, tri,...) default or conservative + + regridTool + currently either 'libcf' or 'esmf' + + srcGridMask + array of same shape as srcGrid + + srcBounds + list of numpy arrays of same shape as srcGrid + + srcGridAreas + array of same shape as srcGrid + + dstGridMask + array of same shape as dstGrid + + dstBounds + list of numpy arrays of same shape as dstGrid + + dstGridAreas + array of same shape as dstGrid + + **args + additional arguments to be passed to the specific tool + libcf': mkCyclic={True, False}, handleCut={True,False} + 'esmf': periodicity={0,1}, coordSys={'deg', 'cart'}, ... """ def __init__(self, srcGrid, dstGrid, @@ -52,22 +102,7 @@ def __init__(self, srcGrid, dstGrid, dstGridMask=None, dstBounds=None, dstGridAreas=None, **args): """ - Constructor. - @param srcGrid list of numpy arrays, source horizontal coordinates - @param dstGrid list of numpy arrays, destination horizontal coordinate - @param dtype numpy data type for src/dst data - @param regridMethod linear (bi, tri,...) default or conservative - @param regridTool currently either 'libcf' or 'esmf' - @param srcGridMask array of same shape as srcGrid - @param srcBounds list of numpy arrays of same shape as srcGrid - @param srcGridAreas array of same shape as srcGrid - @param dstGridMask array of same shape as dstGrid - @param dstBounds list of numpy arrays of same shape as dstGrid - @param dstGridAreas array of same shape as dstGrid - @param **args additional arguments to be passed to the - specific tool - 'libcf': mkCyclic={True, False}, handleCut={True,False} - 'esmf': periodicity={0,1}, coordSys={'deg', 'cart'}, ... + """ self.nGridDims = len(srcGrid) @@ -160,12 +195,21 @@ def apply(self, srcData, dstData, **args): """ Regrid source to destination - @param srcData array (input) - @param dstData array (output) - @param rootPe if other than None, then results will be MPI - gathered - @param missingValue if not None, then data mask will be interpolated - and data value set to missingValue when masked + + **Parameters:** + + srcData + array (input) + + dstData + array (output) + + rootPe + if other than None, then results will be MPI gathered + + missingValue + if not None, then data mask will be interpolated + and data value set to missingValue when masked """ # assuming the axes are the slowly varying indices @@ -298,16 +342,23 @@ def getDstGrid(self): """ Return the destination grid, may be different from the dst grid provided to the constructor due to domain decomposition - @return local grid on this processor + + **Returns:** + + local grid on this processor """ return self.tool.getDstGrid() def fillInDiagnosticData(self, diag, rootPe=None): """ Fill in diagnostic data - @param diag a dictionary whose entries, if present, will be filled - entries are tool dependent - @param rootPe root processor where data should be gathered (or - None if local areas are to be returned) + + **Parameters:** + + diag + a dictionary whose entries, if present, will be filled entries are tool dependent + + rootPe + root processor where data should be gathered (or None if local areas are to be returned) """ self.tool.fillInDiagnosticData(diag, rootPe=rootPe) diff --git a/regrid2/Lib/mvLibCFRegrid.py b/regrid2/Lib/mvLibCFRegrid.py index 30c5f4bf..14935460 100644 --- a/regrid2/Lib/mvLibCFRegrid.py +++ b/regrid2/Lib/mvLibCFRegrid.py @@ -1,10 +1,12 @@ +# This code is provided with the hope that it will be useful. +# No guarantee is provided whatsoever. Use at your own risk. +# +# David Kindig and Alex Pletzer, Tech-X Corp. (2012) + + """ LibCF regridding class -This code is provided with the hope that it will be useful. -No guarantee is provided whatsoever. Use at your own risk. - -David Kindig and Alex Pletzer, Tech-X Corp. (2012) """ from regrid2 import gsRegrid @@ -19,11 +21,20 @@ def __init__(self, srcGrid, dstGrid, srcGridMask=None, srcBounds=None, **args): """ Constructor - @param srcGrid array - @param dstGrid array - @param srcBounds cell boundaries - @param **args keyword arguments, eg mkCyclic, handleCut, ... - to be passed to gsRegrid + + Parameters + ---------- + + srcGrid + array + + dstGrid + array + + srcBounds + cell boundaries + + **args keyword arguments, eg mkCyclic, handleCut, ...to be passed to gsRegrid """ self.regridMethodStr = 'linear' self.mkCyclic = args.get('mkCyclic', False) @@ -47,8 +58,11 @@ def __init__(self, srcGrid, dstGrid, srcGridMask=None, def computeWeights(self, **args): """ Compute interpolation weights - @param **args arguments to be passed to gsRegrid, e.g. - nitermax, tolpos, ... + + Parameters + ---------- + + **args arguments to be passed to gsRegrid, e.g. nitermax, tolpos, ... """ nitermax = args.get('nitermax', 20) # make tolpos relative to the min cell size @@ -58,37 +72,52 @@ def computeWeights(self, **args): def apply(self, srcData, dstData, missingValue=None, **args): """ Regrid source to destination - @param srcData array (input) - @param dstData array (output) - @param missingValue value that should be set for points falling outside - the src domain, pass None if these should not be - touched. + + Parameters + ---------- + srcData : + array (input) + dstData : + array (output) + missingValue : + value that should be set for points falling outside + the src domain, pass None if these should not be touched. """ self.regridObj.apply(srcData, dstData, missingValue) def getSrcGrid(self): """ - Get the grid of the src data (maybe larger than the - dst grid passed to the constructor due to column/row - padding) - @return grid + Get the grid of the src data (maybe larger than the dst + grid passed to the constructor due to column/row padding) + + Returns + ------- + grid """ return self.regridObj.getSrcGrid() def getDstGrid(self): """ Get the grid of the dst data - @return grid + + Returns + ------- + grid """ return self.regridObj.getDstGrid() def fillInDiagnosticData(self, diag, rootPe): """ Fill in diagnostic data - @param diag a dictionary whose entries, if present, will be filled - valid entries are: 'numDstPoints' and 'numValid' - @param rootPe not used + + Parameters + ---------- + + diag + a dictionary whose entries, if present, will be filled valid entries are: 'numDstPoints' and 'numValid' + rootPe + not used """ for entry in 'numDstPoints', 'numValid': if entry in diag: diff --git a/regrid2/Lib/mytest.py b/regrid2/Lib/mytest.py new file mode 100644 index 00000000..e91d1361 --- /dev/null +++ b/regrid2/Lib/mytest.py @@ -0,0 +1,2 @@ +import ESMF # noqa +from .mvESMFRegrid import ESMFRegrid # noqa diff --git a/regrid2/Lib/pressure.py b/regrid2/Lib/pressure.py index 6de24914..42b632f2 100644 --- a/regrid2/Lib/pressure.py +++ b/regrid2/Lib/pressure.py @@ -1,13 +1,15 @@ # Automatically adapted for numpy.oldnumeric Aug 02, 2007 by import cdms2 import numpy -from . import _regrid +# from . import _regrid +import regrid2._regrid as _regrid from .error import RegridError import copy class PressureRegridder: - """ #----------------------------------------------------------------------------------------------- + """ + #----------------------------------------------------------------------------------------------- # # PURPOSE: To perform all the tasks required to regrid the input data into the ouput data along # the pressure dimension only. @@ -18,10 +20,12 @@ class PressureRegridder: # Pass the input data with some descriptive parameters and get the output data # in return # - #------------------------------------------------------------------------------------------------""" + #------------------------------------------------------------------------------------------------ + """ def __init__(self, axisIn, axisOut): - """ #----------------------------------------------------------------------------------------------- + """ + #----------------------------------------------------------------------------------------------- # # PURPOSE: To make an instance which entails setting up the input and output grids # @@ -43,7 +47,8 @@ def __init__(self, axisIn, axisOut): # # r = PressureRegridder(levIn, levOut) # - #------------------------------------------------------------------------------------------------""" + #------------------------------------------------------------------------------------------------ + """ # --- set the instance grid data attributes used to describe input and output grid sizes @@ -423,20 +428,28 @@ def rgrd(self, dataIn, missingValueIn, missingMatch, def checkorder(positionIn): - """ #----------------------------------------------------------------------------------------- - # - # purpose: construct the tuples for transposing the data to standard dimension order and the - # inverse for transposing it back to the original dimension order - # - # usage: newOrder, inverseOrder = checkorder(positionIn) - # - # passed: positionIn -- array with location of longitude, latitude. level and time respectively - # in the sense of the python shape of the data - # - # returned: newOrder -- tuple to transpose data to the order (t,z,y,x) - # inverseOrder -- tuple to transpose data to back to the original order - # - #----------------------------------------------------------------------------------------------""" + """ + **Purpose:** + + construct the tuples for transposing the data to standard dimension + order and the inverse for transposing it back to the original dimension order + + **Usage:** + + newOrder, inverseOrder = checkorder(positionIn) + + **Passed:** + + positionIn -- array with location of longitude, latitude. level and time + respectively in the sense of the python shape of the data + + **Returns:** + + newOrder -- tuple to transpose data to the order (t,z,y,x) + + inverseOrder -- tuple to transpose data to back to the original order + + """ # remove the None values from positionIn and reverse the order @@ -466,16 +479,22 @@ def checkorder(positionIn): def sendmsg(msg, value1=None, value2=None): - """ #--------------------------------------------------------------------------------- - # - # purpose: send the same message to the screen - # - # passed : msg - the string - # value - the number associated with the string - # - # returned: return - # - #---------------------------------------------------------------------------------""" + """ + **Purpose:** + + send the same message to the screen + + **Passed:** + + msg - the string + + value - the number associated with the string + + **Returns:** + + return + + """ print('*******************************************************************') if value1 is None: diff --git a/regrid2/Lib/scrip.py b/regrid2/Lib/scrip.py index 13eec1ef..ae08e76b 100644 --- a/regrid2/Lib/scrip.py +++ b/regrid2/Lib/scrip.py @@ -1,7 +1,8 @@ # Automatically adapted for numpy.oldnumeric Aug 02, 2007 by import cdms2 -from . import _scrip +# from . import _scrip +import regrid2._scrip as _scrip from .error import RegridError import numpy from functools import reduce @@ -106,14 +107,29 @@ def getDestinationFraction(self): class ConservativeRegridder(ScripRegridder): - """First-order conservative regrid. By default, the normalize option ="fracarea", and array 'normal' - is not specified. If 'normal' is specified, it should be a one-dimensional array of the same length - as the output grid size, with values: - 1.0 for normalize="fracarea", - grid_frac for normalize="destarea", or - grid_frac*grid_area for normalize="none". - sourceArea is the area of the source grid cells - destArea is the area of the destination grid cells + """First-order conservative regrid. + + By default, the normalize option ="fracarea", and array 'normal' is not specified. + + If 'normal' is specified, it should be a one-dimensional array of the same length + as the output grid size, with values: + + 1.0 for normalize="fracarea", + + grid_frac for normalize="destarea", or + + grid_frac*grid_area for normalize="none". + + Parameters + ---------- + + sourceArea + + is the area of the source grid cells + + destArea + + is the area of the destination grid cells """ def __init__(self, outputGrid, remapMatrix, sourceAddress, destAddress, inputGrid=None, @@ -141,6 +157,9 @@ def getDestinationArea(self): return self.destArea def regrid(self, input): + """ + call regridder + """ if self.normal is None: # print "On input, num_links = %d"%(len(self.sourceAddress)) # print "On input, nextra = %d"%(input.shape[0]) @@ -194,7 +213,19 @@ def regrid(self, input): class BicubicRegridder(ScripRegridder): - """Bicubic regrid.""" + """Bicubic regrid. + + Parameters + ---------- + gradLat: + df/di + + gradLon: + df/dj + + gradLatlon: + d(df)/(di)(dj) + """ def __init__(self, outputGrid, remapMatrix, sourceAddress, destAddress, inputGrid=None, sourceFrac=None, destFrac=None): @@ -209,10 +240,6 @@ def __init__(self, outputGrid, remapMatrix, sourceAddress, destFrac=destFrac) def __call__(self, input, gradLat, gradLon, gradLatlon): - """gradLat = df/di - gradLon = df/dj - gradLatlon = d(df)/(di)(dj) - """ import numpy.ma from cdms2 import isVariable @@ -343,10 +370,16 @@ def regrid(self, input): def readRegridder(fileobj, mapMethod=None, checkGrid=1): """Read a regridder from an open fileobj. - mapMethod is one of "conservative", "bilinear", "bicubic", or "distwgt". If unspecified, it defaults to the method - defined in the file. - If 'checkGrid' is 1 (default), the grid cells are checked for convexity, - and 'repaired' if necessary. + + **Parameters:** + + mapMethod + is one of "conservative", "bilinear", "bicubic", or "distwgt". + + If unspecified, it defaults to the method defined in the file. + + If 'checkGrid' is 1 (default), the grid cells are checked for convexity, and 'repaired' if necessary. + """ if isinstance(fileobj, str): diff --git a/regrid2/Src/_regridmodule.c b/regrid2/Src/_regridmodule.c old mode 100755 new mode 100644 diff --git a/test_condaforge.sh b/test_condaforge.sh old mode 100755 new mode 100644 diff --git a/tests/test_cdmsfile_io.py b/tests/test_cdmsfile_io.py old mode 100755 new mode 100644 diff --git a/tests/test_cdmsfile_ma_rw.py b/tests/test_cdmsfile_ma_rw.py old mode 100755 new mode 100644 diff --git a/tests/test_cdmsfile_rw.py b/tests/test_cdmsfile_rw.py old mode 100755 new mode 100644 diff --git a/tests/test_cdscan.py b/tests/test_cdscan.py old mode 100755 new mode 100644 diff --git a/tests/test_curvilinear_grid.py b/tests/test_curvilinear_grid.py old mode 100755 new mode 100644 diff --git a/tests/test_dataset_filemap.py b/tests/test_dataset_filemap.py old mode 100755 new mode 100644 diff --git a/tests/test_dataset_io.py b/tests/test_dataset_io.py old mode 100755 new mode 100644 diff --git a/tests/test_regrid2.py b/tests/test_regrid2.py old mode 100755 new mode 100644 diff --git a/tests/test_tvariable.py b/tests/test_tvariable.py old mode 100755 new mode 100644 diff --git a/tests/test_variable_subselection.py b/tests/test_variable_subselection.py old mode 100755 new mode 100644