Skip to content
Merged

Np11 #20

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#****************************************************************
# Copyright (c) 2016 Larence Livermore National Security (LLNS)
# All rights reserved.
#****************************************************************
#
# Organization: Lawrence Livermore National Lab (LLNL)
# Matrix: Atmospheric, Earth and Energy Division
# Project: Earth Systems Grid
# Author: Denis Nadeau
#
# Description:
#
# Files that git should ignore...
#****************************************************************

TAGS
*~
*swp
*.cache
*.DS_Store
*.a
*.o
*.class
*.pyc
*.project
*.cproject
*.pydevproject
*.egg
*#*
*.md5
semantic.cache*
build/
Makefile
.coverage
covhtml
git.py
34 changes: 18 additions & 16 deletions Lib/__init__.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
"""
CDMS module-level API
"""

import cdat_info
cdat_info.pingPCMDIdb("cdat","cdms2")
cdat_info.pingPCMDIdb("cdat", "cdms2")
from . import git

__all__ = ["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"]
__all__ = ["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"]

# Errors
from error import CDMSError
Expand All @@ -29,23 +30,23 @@

# Dataset functions
from dataset import createDataset, openDataset, useNetcdf3, \
getNetcdfClassicFlag, getNetcdfShuffleFlag, getNetcdfDeflateFlag, getNetcdfDeflateLevelFlag,\
setNetcdfClassicFlag, setNetcdfShuffleFlag, setNetcdfDeflateFlag, setNetcdfDeflateLevelFlag,\
setNetcdfUseNCSwitchModeFlag,getNetcdfUseNCSwitchModeFlag,\
setCompressionWarnings,\
setNetcdf4Flag, getNetcdf4Flag,\
setNetcdfUseParallelFlag, getNetcdfUseParallelFlag, \
getMpiRank, getMpiSize
getNetcdfClassicFlag, getNetcdfShuffleFlag, getNetcdfDeflateFlag, getNetcdfDeflateLevelFlag,\
setNetcdfClassicFlag, setNetcdfShuffleFlag, setNetcdfDeflateFlag, setNetcdfDeflateLevelFlag,\
setNetcdfUseNCSwitchModeFlag, getNetcdfUseNCSwitchModeFlag,\
setCompressionWarnings,\
setNetcdf4Flag, getNetcdf4Flag,\
setNetcdfUseParallelFlag, getNetcdfUseParallelFlag, \
getMpiRank, getMpiSize

open = openDataset

# Database functions
from database import connect, Base, Onelevel, Subtree

#Selectors
# Selectors
import selectors
from selectors import longitude, latitude, time, level, required, \
longitudeslice, latitudeslice, levelslice, timeslice
longitudeslice, latitudeslice, levelslice, timeslice

from avariable import order2index, orderparse, setNumericCompatibility, getNumericCompatibility
# TV
Expand All @@ -65,6 +66,7 @@
except:
pass

from restApi import esgfConnection,esgfDataset,FacetConnection
from restApi import esgfConnection, esgfDataset, FacetConnection

MV = MV2

1 change: 1 addition & 0 deletions Lib/auxcoord.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,4 @@ def __init__(self, data, typecode=None, copy=0, savespace=0, mask=None, fill_val

## internattr.initialize_internal_attributes(TransientAuxAxis1D) # Copy internal attrs from parents


21 changes: 15 additions & 6 deletions Lib/avariable.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
InvalidRegion = "Invalid region: "
OutOfRange = "Coordinate interval is out of range or intersection has no data: "
NotImplemented = "Child of AbstractVariable failed to implement: "

_numeric_compatibility = False # Backward compatibility with numpy behavior
# False: return scalars from 0-D slices
# MV axis=None by default
Expand Down Expand Up @@ -116,7 +115,11 @@ def setNumericCompatibility(mode):
def getNumericCompatibility():
return _numeric_compatibility


class AbstractVariable(CdmsObj, Slab):
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.
Expand Down Expand Up @@ -1174,21 +1177,27 @@ def _process_specs (self, specs, keys):
"""
myrank = self.rank()
nsupplied = len(specs)
if Ellipsis in specs:
# numpy will broadcast if we have a new axis in specs
# ---------------------------------------------------
if (numpy.newaxis in specs):
nnewaxis = 1
else:
nnewaxis = 0

if (Ellipsis in specs):
nellipses = 1
elif numpy.newaxis in specs:
raise CDMSError, 'Sorry, you cannot use NewAxis in this context ' + str(specs)
else:
nellipses = 0
if nsupplied-nellipses > myrank:

if nsupplied-nellipses-nnewaxis > myrank:
raise CDMSError, InvalidRegion + \
"too many dimensions: %d, for variable %s"%(len(specs),self.id)

speclist = [unspecified]*myrank
i = 0
j = 0
while i < nsupplied:
if specs[i] is Ellipsis:
if (specs[i] is Ellipsis) or (specs[i] is numpy.newaxis):
j = myrank - (nsupplied - (i+1))
else:
speclist[j] = specs[i]
Expand Down
Loading