Index: /issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py	(revision 24255)
@@ -52,10 +52,10 @@
         raise NameError('mesh type not supported yet')
     if any(md.mask.ice_levelset <= 0):
-        values = md.mask.ice_levelset[md.mesh.segments[:, 0: - 1] - 1]
+        values = md.mask.ice_levelset[md.mesh.segments[:, 0:-1] - 1]
         segmentsfront = 1 - values
         np.sum(segmentsfront, axis=1) != numbernodesfront
         segments = np.nonzero(np.sum(segmentsfront, axis=1) != numbernodesfront)[0]
     #Find all nodes for these segments and spc them
-        pos = md.mesh.segments[segments, 0: - 1] - 1
+        pos = md.mesh.segments[segments, 0:-1] - 1
     else:
         pos = np.nonzero(md.mesh.vertexonboundary)[0]
Index: /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py	(revision 24255)
@@ -64,5 +64,5 @@
         segments = np.nonzero(np.sum(segmentsfront, axis=1) != numbernodesfront)[0]
     #Find all nodes for these segments and spc them
-        pos = md.mesh.segments[segments, 0: - 1] - 1
+        pos = md.mesh.segments[segments, 0:-1] - 1
     else:
         pos = np.nonzero(md.mesh.vertexonboundary)[0]
Index: /issm/trunk-jpl/src/m/classes/esa.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/esa.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/classes/esa.py	(revision 24255)
@@ -32,5 +32,5 @@
         string = "%s\n%s" % (string, fielddisplay(self, 'love_h', 'load Love number for radial displacement'))
         string = "%s\n%s" % (string, fielddisplay(self, 'love_l', 'load Love number for horizontal displaements'))
-        string = "%s\n%s" % (string, fielddisplay(self, 'hemisphere', 'North - south, East - west components of 2 - D horiz displacement vector: - 1 south, 1 north'))
+        string = "%s\n%s" % (string, fielddisplay(self, 'hemisphere', 'North-south, East-west components of 2-D horiz displacement vector:-1 south, 1 north'))
         string = "%s\n%s" % (string, fielddisplay(self, 'degacc', 'accuracy (default .01 deg) for numerical discretization of the Green''s functions'))
         string = "%s\n%s" % (string, fielddisplay(self, 'transitions', 'indices into parts of the mesh that will be icecaps'))
Index: /issm/trunk-jpl/src/m/classes/thermal.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/thermal.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/classes/thermal.py	(revision 24255)
@@ -107,5 +107,5 @@
             md = checkfield(md, 'fieldname', 'thermal.watercolumn_upperlimit', '>=', 0)
 
-            TEMP = md.thermal.spctemperature[: - 1].flatten(- 1)
+            TEMP = md.thermal.spctemperature[:-1].flatten(- 1)
             pos = np.where(~np.isnan(TEMP))
             try:
Index: /issm/trunk-jpl/src/m/consistency/checkfield.py
===================================================================
--- /issm/trunk-jpl/src/m/consistency/checkfield.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/consistency/checkfield.py	(revision 24255)
@@ -167,5 +167,5 @@
             minval = np.nanmin(field)
             if options.getfieldvalue('timeseries', 0):
-                minval = np.nanmin(field[: - 1])
+                minval = np.nanmin(field[:-1])
             elif options.getfieldvalue('singletimeseries', 0):
                 if np.size(field) == 1:  #some singletimeseries are just one value
@@ -187,5 +187,5 @@
             minval = np.nanmin(field)
             if options.getfieldvalue('timeseries', 0):
-                minval = np.nanmin(field[: - 1])
+                minval = np.nanmin(field[:-1])
             elif options.getfieldvalue('singletimeseries', 0):
                 if np.size(field) == 1:  #some singletimeseries are just one value
@@ -208,5 +208,5 @@
             maxval = np.nanmax(field)
             if options.getfieldvalue('timeseries', 0):
-                maxval = np.nanmax(field[: - 1])
+                maxval = np.nanmax(field[:-1])
             elif options.getfieldvalue('singletimeseries', 0):
                 if np.size(field) == 1:  #some singletimeseries are just one value
@@ -230,5 +230,5 @@
             maxval = np.nanmax(field)
             if options.getfieldvalue('timeseries', 0):
-                maxval = np.nanmax(field[: - 1])
+                maxval = np.nanmax(field[:-1])
             elif options.getfieldvalue('singletimeseries', 0):
                 if np.size(field) == 1:  #some singletimeseries are just one value
Index: sm/trunk-jpl/src/m/contrib/defleurian/netCDF/ClassTry.py
===================================================================
--- /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/ClassTry.py	(revision 24254)
+++ 	(revision )
@@ -1,120 +1,0 @@
-#module imports {{{
-from netCDF4 import Dataset
-import time
-import collections
-from os import path, remove
-#}}}
-
-				
-class truc(object):
-	#properties
-	def __init__(self,*filename):#{{{
-
-		def netCDFread(filename):
-			def walktree(data):
-				keys = list(data.groups.keys())
-				yield keys
-				for key in keys:
-					for children in walktree(data.groups[str(key)]):
-						yield children
-
-			if path.exists(filename):
-				print(('Opening {} for reading '.format(filename)))
-				NCData=Dataset(filename, 'r')
-				class_dict={}
-				
-				for children in walktree(NCData):
-					for child in children:
-						class_dict[str(child)]=str(getattr(NCData.groups[str(child)],'classtype'))
-
-				return class_dict
-
-		if filename:		
-			classtype=netCDFread(filename[0])
-		else:
-			classtype=self.default_prop()
-			
-		module=list(map(__import__,dict.values(classtype)))
-
-		for i,mod in enumerate(dict.keys(classtype)):
-			self.__dict__[mod] = getattr(module[i],str(classtype[str(mod)]))()
-			
-		#}}}
-	def default_prop(self):    # {{{
-		# ordered list of properties since vars(self) is random
-		return {'mesh':'mesh2d',\
-		        'mask':'mask',\
-		        'geometry':'geometry',\
-		        'constants':'constants',\
-		        'smb':'SMB',\
-		        'basalforcings':'basalforcings',\
-		        'materials':'matice',\
-		        'damage':'damage',\
-		        'friction':'friction',\
-		        'flowequation':'flowequation',\
-		        'timestepping':'timestepping',\
-		        'initialization':'initialization',\
-		        'rifts':'rifts',\
-		        'debug':'debug',\
-		        'verbose':'verbose',\
-		        'settings':'settings',\
-		        'toolkits':'toolkits',\
-		        'cluster':'generic',\
-		        'balancethickness':'balancethickness',\
-		        'stressbalance':'stressbalance',\
-		        'groundingline':'groundingline',\
-		        'hydrology':'hydrologyshreve',\
-		        'masstransport':'masstransport',\
-		        'thermal':'thermal',\
-		        'steadystate':'steadystate',\
-		        'transient':'transient',\
-		        'calving':'calving',\
-				  'giaivins':'giaivins',\
-		        'autodiff':'autodiff',\
-		        'inversion':'inversion',\
-		        'qmu':'qmu',\
-		        'outputdefinition':'outputdefinition',\
-		        'results':'results',\
-		        'radaroverlay':'radaroverlay',\
-		        'miscellaneous':'miscellaneous',\
-		        'private':'private'}
-	# }}}
-		
-	def __repr__(obj): #{{{
-		#print "Here %s the number: %d" % ("is", 37)
-		string="%19s: %-22s -- %s" % ("mesh","[%s,%s]" % ("1x1",obj.mesh.__class__.__name__),"mesh properties")
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("mask","[%s,%s]" % ("1x1",obj.mask.__class__.__name__),"defines grounded and floating elements"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("geometry","[%s,%s]" % ("1x1",obj.geometry.__class__.__name__),"surface elevation, bedrock topography, ice thickness,..."))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("constants","[%s,%s]" % ("1x1",obj.constants.__class__.__name__),"physical constants"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("smb","[%s,%s]" % ("1x1",obj.smb.__class__.__name__),"surface forcings"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("basalforcings","[%s,%s]" % ("1x1",obj.basalforcings.__class__.__name__),"bed forcings"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("materials","[%s,%s]" % ("1x1",obj.materials.__class__.__name__),"material properties"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("damage","[%s,%s]" % ("1x1",obj.damage.__class__.__name__),"damage propagation laws"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("friction","[%s,%s]" % ("1x1",obj.friction.__class__.__name__),"basal friction/drag properties"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("flowequation","[%s,%s]" % ("1x1",obj.flowequation.__class__.__name__),"flow equations"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("timestepping","[%s,%s]" % ("1x1",obj.timestepping.__class__.__name__),"time stepping for transient models"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("initialization","[%s,%s]" % ("1x1",obj.initialization.__class__.__name__),"initial guess/state"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("rifts","[%s,%s]" % ("1x1",obj.rifts.__class__.__name__),"rifts properties"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("debug","[%s,%s]" % ("1x1",obj.debug.__class__.__name__),"debugging tools (valgrind, gprof)"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("verbose","[%s,%s]" % ("1x1",obj.verbose.__class__.__name__),"verbosity level in solve"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("settings","[%s,%s]" % ("1x1",obj.settings.__class__.__name__),"settings properties"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("toolkits","[%s,%s]" % ("1x1",obj.toolkits.__class__.__name__),"PETSc options for each solution"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("cluster","[%s,%s]" % ("1x1",obj.cluster.__class__.__name__),"cluster parameters (number of cpus...)"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("balancethickness","[%s,%s]" % ("1x1",obj.balancethickness.__class__.__name__),"parameters for balancethickness solution"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("stressbalance","[%s,%s]" % ("1x1",obj.stressbalance.__class__.__name__),"parameters for stressbalance solution"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("groundingline","[%s,%s]" % ("1x1",obj.groundingline.__class__.__name__),"parameters for groundingline solution"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("hydrology","[%s,%s]" % ("1x1",obj.hydrology.__class__.__name__),"parameters for hydrology solution"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("masstransport","[%s,%s]" % ("1x1",obj.masstransport.__class__.__name__),"parameters for masstransport solution"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("thermal","[%s,%s]" % ("1x1",obj.thermal.__class__.__name__),"parameters for thermal solution"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("steadystate","[%s,%s]" % ("1x1",obj.steadystate.__class__.__name__),"parameters for steadystate solution"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("transient","[%s,%s]" % ("1x1",obj.transient.__class__.__name__),"parameters for transient solution"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("calving","[%s,%s]" % ("1x1",obj.calving.__class__.__name__),"parameters for calving"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("autodiff","[%s,%s]" % ("1x1",obj.autodiff.__class__.__name__),"automatic differentiation parameters"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("inversion","[%s,%s]" % ("1x1",obj.inversion.__class__.__name__),"parameters for inverse methods"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("qmu","[%s,%s]" % ("1x1",obj.qmu.__class__.__name__),"dakota properties"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("outputdefinition","[%s,%s]" % ("1x1",obj.outputdefinition.__class__.__name__),"output definition"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("results","[%s,%s]" % ("1x1",obj.results.__class__.__name__),"model results"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("radaroverlay","[%s,%s]" % ("1x1",obj.radaroverlay.__class__.__name__),"radar image for plot overlay"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("miscellaneous","[%s,%s]" % ("1x1",obj.miscellaneous.__class__.__name__),"miscellaneous fields"))
-		return string
-	# }}}
Index: /issm/trunk-jpl/src/m/contrib/defleurian/paraview/exportVTK.py
===================================================================
--- /issm/trunk-jpl/src/m/contrib/defleurian/paraview/exportVTK.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/contrib/defleurian/paraview/exportVTK.py	(revision 24255)
@@ -242,5 +242,8 @@
                                 fid.write('{:f} {:f} {:f}\n'.format(0, 0, 0))
                     else:
-                        if ((np.size(spe_res_struct.__dict__[field])) == every_nodes):
+                        if (np.size(spe_res_struct.__dict__[field]) == 1):
+                            #skipping integers
+                            continue
+                        elif ((np.size(spe_res_struct.__dict__[field])) == every_nodes):
                             fid.write('SCALARS {} float 1 \n'.format(field))
                             fid.write('LOOKUP_TABLE default\n')
@@ -248,6 +251,9 @@
                                 outval = cleanOutliers(np.squeeze(spe_res_struct.__dict__[field][enveloppe_index[node]]))
                                 fid.write('{:f}\n'.format(outval))
-                        elif ((np.size(spe_res_struct.__dict__[field])) == every_cells):
+                        elif (np.shape(spe_res_struct.__dict__[field])[0] == np.size(spe_res_struct.__dict__[field]) == every_cells):
                             saved_cells[field] = np.squeeze(spe_res_struct.__dict__[field])
+                        else:
+                            print("format for field {}.{} is not suported, field is skipped".format(sol, field))
+                            continue
     # }}}
     # loop on arguments, if something other than result is asked, do it now {{{
@@ -256,5 +262,8 @@
             othernames = (dict.keys(other_struct.__dict__))
             for field in othernames:
-                if (np.size(other_struct.__dict__[field]) == every_nodes):
+                if (np.size(other_struct.__dict__[field]) == 1):
+                    #skipping integers
+                    continue
+                elif (np.size(other_struct.__dict__[field]) == every_nodes):
                     fid.write('SCALARS {} float 1 \n'.format(field))
                     fid.write('LOOKUP_TABLE default\n')
@@ -262,6 +271,9 @@
                         outval = cleanOutliers(other_struct.__dict__[field][enveloppe_index[node]])
                         fid.write('{:f}\n'.format(outval))
-                elif (np.size(other_struct.__dict__[field]) == every_cells):
+                elif (np.shape(other_struct.__dict__[field])[0] == np.size(other_struct.__dict__[field]) == every_cells):
                     saved_cells[field] = other_struct.__dict__[field]
+                else:
+                    print("format for field {}.{} is not suported, field is skipped".format(other, field))
+                    continue
     # }}}
     # Now writting cell variables {{{
Index: /issm/trunk-jpl/src/m/extrusion/project3d.py
===================================================================
--- /issm/trunk-jpl/src/m/extrusion/project3d.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/extrusion/project3d.py	(revision 24255)
@@ -53,5 +53,5 @@
                 projected_vector = (paddingvalue * np.ones((md.mesh.numberofvertices + 1))).astype(vector2d.dtype)
                 projected_vector[-1] = vector2d[-1]
-                vector2d = vector2d[: - 1]
+                vector2d = vector2d[:-1]
             else:
                 raise TypeError("vector length not supported")
@@ -68,5 +68,5 @@
                 projected_vector = (paddingvalue * np.ones((md.mesh.numberofvertices + 1, np.size(vector2d, axis=1)))).astype(vector2d.dtype)
                 projected_vector[-1, :] = vector2d[-1, :]
-                vector2d = vector2d[: - 1, :]
+                vector2d = vector2d[:-1, :]
             else:
                 raise TypeError("vector length not supported")
@@ -86,5 +86,5 @@
                 projected_vector = (paddingvalue * np.ones((md.mesh.numberofelements + 1))).astype(vector2d.dtype)
                 projected_vector[-1] = vector2d[-1]
-                vector2d = vector2d[: - 1]
+                vector2d = vector2d[:-1]
             else:
                 raise TypeError("vector length not supported")
@@ -101,5 +101,5 @@
                 projected_vector = (paddingvalue * np.ones((md.mesh.numberofelements + 1, np.size(vector2d, axis=1)))).astype(vector2d.dtype)
                 projected_vector[-1, :] = vector2d[-1, :]
-                vector2d = vector2d[: - 1, :]
+                vector2d = vector2d[:-1, :]
             else:
                 raise TypeError("vector length not supported")
Index: /issm/trunk-jpl/src/m/miscellaneous/fielddisplay.py
===================================================================
--- /issm/trunk-jpl/src/m/miscellaneous/fielddisplay.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/miscellaneous/fielddisplay.py	(revision 24255)
@@ -106,5 +106,5 @@
         string = "%s%dx1%s" % (sbeg, len(field), send)
     else:
-        string = string[: - 1] + send
+        string = string[:-1] + send
 
     #call displayunit
Index: /issm/trunk-jpl/src/m/plot/processdata.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/processdata.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/plot/processdata.py	(revision 24255)
@@ -120,5 +120,5 @@
         print('multiple-column spc field; specify column to plot using option "spccol"')
         print(('column ', spccol, ' plotted for time: ', procdata[-1, spccol]))
-        procdata = procdata[0: - 1, spccol]
+        procdata = procdata[0:-1, spccol]
 
     #mask?
Index: /issm/trunk-jpl/src/m/solve/WriteData.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/WriteData.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/solve/WriteData.py	(revision 24255)
@@ -44,5 +44,5 @@
         scale = options.getfieldvalue('scale')
         if np.size(data) > 1 and np.ndim(data) > 1 and np.size(data, 0) == timeserieslength:
-            data[0: - 1, :] = scale * data[0: - 1, :]
+            data[0:-1, :] = scale * data[0:-1, :]
         else:
             data = scale * data
Index: /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 24254)
+++ /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 24255)
@@ -149,5 +149,5 @@
     try:
         length = struct.unpack('i', fid.read(struct.calcsize('i')))[0]
-        fieldname = struct.unpack('{}s'.format(length), fid.read(length))[0][: - 1]
+        fieldname = struct.unpack('{}s'.format(length), fid.read(length))[0][:-1]
         fieldname = fieldname.decode()  #strings are binaries when stored so need to be converted back
         time = struct.unpack('d', fid.read(struct.calcsize('d')))[0]
@@ -159,5 +159,5 @@
 
         elif datatype == 2:
-            field = struct.unpack('{}s'.format(M), fid.read(M))[0][: - 1]
+            field = struct.unpack('{}s'.format(M), fid.read(M))[0][:-1]
             field = field.decode()
 
@@ -282,5 +282,5 @@
     try:
         length = struct.unpack('i', fid.read(struct.calcsize('i')))[0]
-        fieldname = struct.unpack('{}s'.format(length), fid.read(length))[0][: - 1]
+        fieldname = struct.unpack('{}s'.format(length), fid.read(length))[0][:-1]
         time = struct.unpack('d', fid.read(struct.calcsize('d')))[0]
         step = struct.unpack('i', fid.read(struct.calcsize('i')))[0]
Index: /issm/trunk-jpl/test/NightlyRun/IdToName.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/IdToName.py	(revision 24254)
+++ /issm/trunk-jpl/test/NightlyRun/IdToName.py	(revision 24255)
@@ -13,4 +13,4 @@
 
     string = '#Test Name:'
-    name = file_text[len(string) + 1: - 1]
+    name = file_text[len(string) + 1:-1]
     return name
Index: /issm/trunk-jpl/test/NightlyRun/test244.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test244.py	(revision 24254)
+++ /issm/trunk-jpl/test/NightlyRun/test244.py	(revision 24255)
@@ -75,5 +75,5 @@
 md.qmu.variables.surface_mass_balanceC = normal_uncertain.normal_uncertain('scaled_SmbC', 1, 0.5)
 Tmin = 273.
-telms = np.atleast_2d(np.min(md.smb.Ta[0: - 1, :], 1))
+telms = np.atleast_2d(np.min(md.smb.Ta[0:-1, :], 1))
 mint_on_partition = telms.flatten()
 for pa in range(np.size(mint_on_partition)):
