Skip to content

Commit 5c2baa4

Browse files
committed
Merge branch 'release' into issue_903_turn_off_paraview
2 parents 1c6cae7 + 821011d commit 5c2baa4

File tree

10 files changed

+141
-83
lines changed

10 files changed

+141
-83
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
os:
22
- linux
3-
- osx
3+
# - osx
44

55
language: c++
66

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
# source is not portable whereas . is
3+
. "@CMAKE_INSTALL_PREFIX@/bin/setup_runtime.sh"
4+
python@PYVER@ "$@"

CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,11 @@ configure_file(${cdat_CMAKE_SOURCE_DIR}/cdat_modules_extra/cdat.in
730730
@ONLY
731731
)
732732

733+
configure_file(${cdat_CMAKE_SOURCE_DIR}/cdat_modules_extra/runtest.in
734+
${CMAKE_INSTALL_PREFIX}/bin/runtest
735+
@ONLY
736+
)
737+
733738

734739
if (BUILD_TESTING)
735740
configure_file(${cdat_CMAKE_SOURCE_DIR}/cdat_modules_extra/runpytest.in

Packages/DV3D/MultiVarPointCollection.py

Lines changed: 67 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ def getCoordIndex( self, var, coord ):
101101
return axis_order.index(coord)
102102
except ValueError, err:
103103
print>>sys.stderr, "Can't find axis %s in axis order spec '%s' " % ( coord, axis_order )
104+
return None
104105

105106

106107
def getCoordDataBlock( self, var ):
@@ -109,42 +110,74 @@ def getCoordDataBlock( self, var ):
109110
def getDataBlock( self, var ):
110111
np_var_data_block = None
111112
iTimeIndex = self.getCoordIndex( var, 't' )
112-
if iTimeIndex <> 0:
113-
print>>sys.stderr, "Unimplemented axis order: %s " % var.getOrder()
114-
else:
115-
if self.lev == None:
116-
if len( var.shape ) == 2:
117-
np_var_data_block = var[ self.iTimeStep, self.istart::self.istep ].data
118-
if self.roi_mask <> None:
119-
np_var_data_block = numpy.compress( self.roi_mask, np_var_data_block )
120-
elif len( var.shape ) == 3:
121-
np_var_data_block = var[ self.iTimeStep, :, self.istart::self.istep ].data
122-
np_var_data_block = np_var_data_block.reshape( [ np_var_data_block.shape[0] * np_var_data_block.shape[1], ] )
123-
self.nLevels = 1
113+
try:
114+
if iTimeIndex > 0:
115+
print>>sys.stderr, "Unimplemented axis order: %s " % var.getOrder()
116+
elif iTimeIndex is None:
117+
if self.lev == None:
118+
if len( var.shape ) == 1:
119+
np_var_data_block = var[ self.istart::self.istep ].data
120+
if self.roi_mask <> None:
121+
np_var_data_block = numpy.compress( self.roi_mask, np_var_data_block )
122+
elif len( var.shape ) == 2:
123+
np_var_data_block = var[ :, self.istart::self.istep ].data
124+
np_var_data_block = np_var_data_block.reshape( [ np_var_data_block.shape[0] * np_var_data_block.shape[1], ] )
125+
self.nLevels = 1
126+
else:
127+
iLevIndex = self.getCoordIndex( var, 'z' )
128+
if len( var.shape ) == 2:
129+
if iLevIndex == 0:
130+
np_var_data_block = var[ :, self.istart::self.istep ].data
131+
elif iLevIndex == 1:
132+
np_var_data_block = var[ self.istart::self.istep, : ].data
133+
np_var_data_block = numpy.swapaxes( np_var_data_block, 0, 1 )
134+
else:
135+
print>>sys.stderr, "Unimplemented axis order: %s " % var.getOrder()
136+
if not isNone( np_var_data_block ):
137+
if not isNone( self.roi_mask ):
138+
np_var_data_block = numpy.compress( self.roi_mask, np_var_data_block, axis = 1 )
139+
elif len( var.shape ) == 3:
140+
lev_data_arrays = []
141+
for ilev in range( var.shape[1] ):
142+
data_z_slice = var[ ilev ].flatten()
143+
lev_data_arrays.append( data_z_slice[self.istart::self.istep] )
144+
np_var_data_block = numpy.concatenate( lev_data_arrays ).astype( numpy.float32 )
124145
else:
125-
iLevIndex = self.getCoordIndex( var, 'z' )
126-
if len( var.shape ) == 3:
127-
if iLevIndex == 1:
146+
if self.lev == None:
147+
if len( var.shape ) == 2:
148+
np_var_data_block = var[ self.iTimeStep, self.istart::self.istep ].data
149+
if self.roi_mask <> None:
150+
np_var_data_block = numpy.compress( self.roi_mask, np_var_data_block )
151+
elif len( var.shape ) == 3:
128152
np_var_data_block = var[ self.iTimeStep, :, self.istart::self.istep ].data
129-
elif iLevIndex == 2:
130-
np_var_data_block = var[ self.iTimeStep, self.istart::self.istep, : ].data
131-
np_var_data_block = numpy.swapaxes( np_var_data_block, 0, 1 )
132-
else:
133-
print>>sys.stderr, "Unimplemented axis order: %s " % var.getOrder()
134-
if not isNone( np_var_data_block ):
135-
if not isNone( self.roi_mask ):
136-
np_var_data_block = numpy.compress( self.roi_mask, np_var_data_block, axis = 1 )
137-
elif len( var.shape ) == 4:
138-
lev_data_arrays = []
139-
for ilev in range( var.shape[1] ):
140-
data_z_slice = var[ self.iTimeStep, ilev ].flatten()
141-
lev_data_arrays.append( data_z_slice[self.istart::self.istep] )
142-
np_var_data_block = numpy.concatenate( lev_data_arrays ).astype( numpy.float32 )
143-
# print " GetDataBlock, var.shape = %s, grid = %s, ts = %d, newshape = %s, type = %s " % ( str(var.shape), str((self.istart,self.istep)), self.iTimeStep, str(np_var_data_block.shape), np_var_data_block.__class__.__name__ )
144-
145-
if not isNone( np_var_data_block ):
146-
if self.missing_value: np_var_data_block = numpy.ma.masked_equal( np_var_data_block, self.missing_value, False ).flatten()
147-
else: np_var_data_block = np_var_data_block.flatten()
153+
np_var_data_block = np_var_data_block.reshape( [ np_var_data_block.shape[0] * np_var_data_block.shape[1], ] )
154+
self.nLevels = 1
155+
else:
156+
iLevIndex = self.getCoordIndex( var, 'z' )
157+
if len( var.shape ) == 3:
158+
if iLevIndex == 1:
159+
np_var_data_block = var[ self.iTimeStep, :, self.istart::self.istep ].data
160+
elif iLevIndex == 2:
161+
np_var_data_block = var[ self.iTimeStep, self.istart::self.istep, : ].data
162+
np_var_data_block = numpy.swapaxes( np_var_data_block, 0, 1 )
163+
else:
164+
print>>sys.stderr, "Unimplemented axis order: %s " % var.getOrder()
165+
if not isNone( np_var_data_block ):
166+
if not isNone( self.roi_mask ):
167+
np_var_data_block = numpy.compress( self.roi_mask, np_var_data_block, axis = 1 )
168+
elif len( var.shape ) == 4:
169+
lev_data_arrays = []
170+
for ilev in range( var.shape[1] ):
171+
data_z_slice = var[ self.iTimeStep, ilev ].flatten()
172+
lev_data_arrays.append( data_z_slice[self.istart::self.istep] )
173+
np_var_data_block = numpy.concatenate( lev_data_arrays ).astype( numpy.float32 )
174+
except Exception, err:
175+
print " Error in GetDataBlock, var.shape = %s, grid = %s, ts = %d " % ( str(var.shape), str((self.istart,self.istep)), self.iTimeStep )
176+
print str(err)
177+
178+
if not isNone( np_var_data_block ):
179+
if self.missing_value: np_var_data_block = numpy.ma.masked_equal( np_var_data_block, self.missing_value, False ).flatten()
180+
else: np_var_data_block = np_var_data_block.flatten()
148181

149182
return np_var_data_block
150183

Packages/DV3D/StructuredVariableReader.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from StructuredDataset import *
1212

1313
def getVarName( var ):
14-
if hasattr( var,'outvar'): return var.outvar.name
1514
if hasattr( var,'name'): return var.name
1615
if hasattr( var,'name_in_file'): return var.name_in_file
1716
if hasattr( var,'id'): return var.id
@@ -110,10 +109,10 @@ def __init__(self, **args):
110109
self.varSpecs = [ var.name_in_file for var in self.vars ]
111110
self.df = cdms2.open( self.fileSpecs )
112111
else:
113-
self.varSpecs = [ var.name for var in self.vars ]
112+
self.varSpecs = [ var.id for var in self.vars ]
114113
plot_attributes = args.get( 'plot_attributes', None )
115114
if plot_attributes <> None:
116-
self.datasetId = plot_attributes.get( 'filename', self.vars[0].name )
115+
self.datasetId = plot_attributes.get( 'filename', self.vars[0].id )
117116
for file_attribute_name in ['url', 'filename', 'file' ]:
118117
self.fileSpecs = plot_attributes.get( file_attribute_name, None )
119118
if self.fileSpecs <> None: break
@@ -122,8 +121,8 @@ def __init__(self, **args):
122121
print>>sys.stderr, "Warning, can't open data file '%s'" % self.fileSpecs
123122
self.df = None
124123
else:
125-
self.datasetId = self.vars[0].name
126-
self.fileSpecs = self.vars[0].name
124+
self.datasetId = self.vars[0].id
125+
self.fileSpecs = self.vars[0].id
127126
self.df = None
128127

129128
self.referenceTimeUnits = None
@@ -371,7 +370,7 @@ def getPortData( self, **args ):
371370

372371
def generateVariableOutput( self, cdms_var ):
373372
print str(cdms_var.var)
374-
self.set3DOutput( name=cdms_var.name, output=cdms_var.var )
373+
self.set3DOutput( name=cdms_var.id, output=cdms_var.var )
375374

376375
def refreshVersion(self):
377376
portData = self.getPortData()
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import vcs, cdms2, sys
2+
3+
x = vcs.init()
4+
f = cdms2.open( sys.prefix+"/sample_data/geos5-sample.nc" )
5+
dv3d = vcs.get3d_vector()
6+
dv3d.VerticalScaling = 4.0
7+
dv3d.BasemapOpacity = 0.5
8+
dv3d.ScaleColormap = [50.0, 75.0, 1]
9+
dv3d.ZSlider = [26.0], vcs.on
10+
dv3d.GlyphDensity = 3.0
11+
dv3d.GlyphSize = 0.6
12+
dv3d = vcs.get3d_vector()
13+
v0 = f["uwnd"]
14+
v1 = f["vwnd"]
15+
x.plot( v0, v1, dv3d )
16+
x.interact()

Packages/cdms2/Lib/dataset.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def setNetcdfDeflateFlag(value):
130130
def setNetcdfDeflateLevelFlag(value):
131131
""" Sets NetCDF deflate level flag value"""
132132
if value not in [0,1,2,3,4,5,6,7,8,9]:
133-
raise CDMSError, "Error NetCDF deflate_level flag must be an integer < 10"
133+
raise CDMSError("Error NetCDF deflate_level flag must be an integer < 10")
134134
Cdunif.CdunifSetNCFLAGS("deflate_level",value)
135135

136136
def getNetcdfClassicFlag():
@@ -245,14 +245,14 @@ def openDataset(uri,mode='r',template=None,dods=1,dpath=None, hostObj=None):
245245
file = CdmsFile(uri,mode)
246246
return file
247247
except:
248-
raise CDMSError("Error in DODS open of: ",uri)
248+
raise CDMSError("Error in DODS open of: "+uri)
249249
else:
250250
try:
251251
datanode = loadURI(uri)
252252
return datanode
253253
except:
254254
datanode = loadURI(uri)
255-
raise CDMSError("Error in loadURI of: ",uri)
255+
raise CDMSError("Error in loadURI of: "+uri)
256256

257257
else:
258258
raise SchemeNotSupported(scheme)

testing/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
# Helper macro that sets the environment correctly
55
macro (cdat_add_test name python_exe script)
66
#string (REPLACE ";" " " TEST_ARGS "${ARGN}")
7-
add_test (${name} "${python_exe}" ${script} ${ARGN})
7+
add_test(${name} "${CMAKE_INSTALL_PREFIX}/bin/runtest"
8+
${script} ${ARGN})
89
if(DEFINED ENV{UVCDAT_ANONYMOUS_LOG})
910
set_tests_properties (${name}
1011
PROPERTIES ENVIRONMENT "UVCDAT_ANONYMOUS_LOG=$ENV{UVCDAT_ANONYMOUS_LOG}"

0 commit comments

Comments
 (0)