Changeset 13740


Ignore:
Timestamp:
10/18/12 15:43:37 (12 years ago)
Author:
jschierm
Message:

BUG: Python's habit of copying pointers rather than data can be very frustrating to debug.

Location:
issm/trunk-jpl/src/m/classes
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/diagnostic.py

    r13171 r13740  
    22import numpy
    33import sys
     4import copy
    45from fielddisplay import fielddisplay
    56from EnumDefinitions import *
     
    186187
    187188                #marshall ice front
    188                 data=self.icefront
     189                data=copy.deepcopy(self.icefront)
    189190                data[numpy.nonzero(data[:,-1]==0),-1]=AirEnum()
    190191                data[numpy.nonzero(data[:,-1]==1),-1]=WaterEnum()
  • issm/trunk-jpl/src/m/classes/flowequation.py

    r13455 r13740  
    11#module imports
     2import numpy
    23import copy
    3 import numpy
    44from fielddisplay import fielddisplay
    55from EnumDefinitions import *
     
    8282
    8383        def marshall(self,fid):    # {{{
    84                 #print "marshalling flowequation-1"
    85                 #print self.vertex_equation
    8684                WriteData(fid,'object',self,'fieldname','ismacayealpattyn','format','Boolean')
    8785                WriteData(fid,'object',self,'fieldname','ishutter','format','Boolean')
     
    9290                WriteData(fid,'object',self,'fieldname','borderstokes','format','DoubleMat','mattype',1)
    9391                #convert approximations to enums
    94                 ## data=list(self.vertex_equation)
    9592                data=copy.deepcopy(self.vertex_equation)
    9693                data[numpy.nonzero(data==0)]=NoneApproximationEnum()
     
    104101                data[numpy.nonzero(data==8)]=L1L2ApproximationEnum()
    105102                WriteData(fid,'data',data,'enum',FlowequationVertexEquationEnum(),'format','DoubleMat','mattype',1)
    106                 ########data=self.element_equation
    107103                data=copy.deepcopy(self.element_equation)
    108104                data[numpy.nonzero(data==0)]=NoneApproximationEnum()
     
    116112                data[numpy.nonzero(data==8)]=L1L2ApproximationEnum()
    117113                WriteData(fid,'data',data,'enum',FlowequationElementEquationEnum(),'format','DoubleMat','mattype',2)
    118                 #print "marshalling flowequation-4"
    119                 #print self.vertex_equation
    120114        # }}}
    121115
  • issm/trunk-jpl/src/m/classes/inversion.py

    r13642 r13740  
    11#module imports
    22import numpy
     3import copy
    34from fielddisplay import fielddisplay
    45from EnumDefinitions import *
     
    178179                #process cost functions
    179180                num_cost_functions=numpy.size(self.cost_functions,axis=1)
    180                 data=self.cost_functions
     181                data=copy.deepcopy(self.cost_functions)
    181182                data[numpy.nonzero(data==101)]=SurfaceAbsVelMisfitEnum()
    182183                data[numpy.nonzero(data==102)]=SurfaceRelVelMisfitEnum()
  • issm/trunk-jpl/src/m/classes/verbose.py

    r13098 r13740  
    125125
    126126        def marshall(self,fid):    # {{{
    127                         WriteData(fid,'data',self.VerboseToBinary(),'enum',VerboseEnum(),'format','Integer')
     127                WriteData(fid,'data',self.VerboseToBinary(),'enum',VerboseEnum(),'format','Integer')
    128128        # }}}
    129129
Note: See TracChangeset for help on using the changeset viewer.