Ignore:
Timestamp:
May 16, 2006, 2:42:12 PM (19 years ago)
Author:
ole
Message:

Replaced reference to f.T with f.get_time() and retested

File:
1 edited

Legend:

Unmodified
Added
Removed
  • inundation/pyvolution/least_squares.py

    r2778 r2884  
    11321132        self.vertex_coordinates = vertex_coordinates
    11331133        self.interpolation_points = interpolation_points
    1134         self.T = time[:]  # Time assumed to be relative to starttime
     1134        self.time = time[:]  # Time assumed to be relative to starttime
    11351135        self.index = 0    # Initial time index
    11361136        self.precomputed_values = {}
     
    11541154
    11551155            m = len(self.interpolation_points)
    1156             p = len(self.T)
     1156            p = len(self.time)
    11571157           
    11581158            for name in quantity_names:
     
    11691169
    11701170            if verbose: print 'Interpolate'
    1171             for i, t in enumerate(self.T):
     1171            for i, t in enumerate(self.time):
    11721172                #Interpolate quantities at this timestep
    11731173                if verbose and i%((p+10)/10)==0:
     
    11991199        #    #Return an average, making this a time series
    12001200        #    for name in quantity_names:
    1201         #        self.values[name] = zeros(len(self.T), Float)
     1201        #        self.values[name] = zeros(len(self.time), Float)
    12021202        #
    12031203        #    if verbose: print 'Compute mean values'
    1204         #    for i, t in enumerate(self.T):
    1205         #        if verbose: print ' time step %d of %d' %(i, len(self.T))
     1204        #    for i, t in enumerate(self.time):
     1205        #        if verbose: print ' time step %d of %d' %(i, len(self.time))
    12061206        #        for name in quantity_names:
    12071207        #           self.values[name][i] = mean(quantities[name][i,:])
     
    12521252
    12531253
    1254         msg = 'Time interval [%s:%s]' %(self.T[0], self.T[1])
     1254        msg = 'Time interval [%s:%s]' %(self.time[0], self.time[-1])
    12551255        msg += ' does not match model time: %s\n' %t
    1256         if t < self.T[0]: raise Exception(msg)
    1257         if t > self.T[-1]: raise Exception(msg)
     1256        if t < self.time[0]: raise Exception(msg)
     1257        if t > self.time[-1]: raise Exception(msg)
    12581258
    12591259        oldindex = self.index #Time index
    12601260
    12611261        #Find current time slot
    1262         while t > self.T[self.index]: self.index += 1
    1263         while t < self.T[self.index]: self.index -= 1
    1264 
    1265         if t == self.T[self.index]:
     1262        while t > self.time[self.index]: self.index += 1
     1263        while t < self.time[self.index]: self.index -= 1
     1264
     1265        if t == self.time[self.index]:
    12661266            #Protect against case where t == T[-1] (last time)
    12671267            # - also works in general when t == T[i]
     
    12691269        else:
    12701270            #t is now between index and index+1
    1271             ratio = (t - self.T[self.index])/\
    1272                     (self.T[self.index+1] - self.T[self.index])
     1271            ratio = (t - self.time[self.index])/\
     1272                    (self.time[self.index+1] - self.time[self.index])
    12731273
    12741274        #Compute interpolated values
     
    13331333                       
    13341334                return res
     1335           
     1336    def get_time(self):
     1337        """Return model time as a vector of timesteps
     1338        """
     1339        return self.time
    13351340
    13361341
     
    13561361               %(min(y), max(y), len(y))
    13571362        str += '    t in [%f, %f], len(t) == %d\n'\
    1358                %(min(self.T), max(self.T), len(self.T))
     1363               %(min(self.time), max(self.time), len(self.time))
    13591364        str += '  Quantities:\n'
    13601365        for name in quantity_names:
     
    13881393        #      %(min(y), max(y), len(y))
    13891394        #print '    t in [%f, %f], len(t) == %d'\
    1390         #      %(min(self.T), max(self.T), len(self.T))
     1395        #      %(min(self.time), max(self.time), len(self.time))
    13911396        #print '  Quantities:'
    13921397        #for name in quantity_names:
Note: See TracChangeset for help on using the changeset viewer.