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

Location:
inundation/fit_interpolate
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • inundation/fit_interpolate/interpolate.py

    r2879 r2884  
    363363        self.vertex_coordinates = vertex_coordinates
    364364        self.interpolation_points = interpolation_points
    365         self.T = time[:]  # Time assumed to be relative to starttime
     365        self.time = time[:]  # Time assumed to be relative to starttime
    366366        self.index = 0    # Initial time index
    367367        self.precomputed_values = {}
     
    383383
    384384            m = len(self.interpolation_points)
    385             p = len(self.T)
     385            p = len(self.time)
    386386           
    387387            for name in quantity_names:
     
    397397
    398398            if verbose: print 'Interpolate'
    399             for i, t in enumerate(self.T):
     399            for i, t in enumerate(self.time):
    400400                #Interpolate quantities at this timestep
    401401                if verbose and i%((p+10)/10)==0:
     
    467467                    raise Exception(msg)
    468468
    469         msg = 'Time interval [%.16f:%.16f]' %(self.T[0], self.T[-1])
     469        msg = 'Time interval [%.16f:%.16f]' %(self.time[0], self.time[-1])
    470470        msg += ' does not match model time: %.16f\n' %t
    471         if t < self.T[0]: raise Exception(msg)
    472         if t > self.T[-1]: raise Exception(msg)
     471        if t < self.time[0]: raise Exception(msg)
     472        if t > self.time[-1]: raise Exception(msg)
    473473
    474474        oldindex = self.index #Time index
    475475
    476476        #Find current time slot
    477         while t > self.T[self.index]: self.index += 1
    478         while t < self.T[self.index]: self.index -= 1
    479 
    480         if t == self.T[self.index]:
     477        while t > self.time[self.index]: self.index += 1
     478        while t < self.time[self.index]: self.index -= 1
     479
     480        if t == self.time[self.index]:
    481481            #Protect against case where t == T[-1] (last time)
    482482            # - also works in general when t == T[i]
     
    484484        else:
    485485            #t is now between index and index+1
    486             ratio = (t - self.T[self.index])/\
    487                     (self.T[self.index+1] - self.T[self.index])
     486            ratio = (t - self.time[self.index])/\
     487                    (self.time[self.index+1] - self.time[self.index])
    488488
    489489        #Compute interpolated values
     
    554554
    555555
     556    def get_time(self):
     557        """Return model time as a vector of timesteps
     558        """
     559        return self.time
     560
    556561    def statistics(self):
    557562        """Output statistics about interpolation_function
     
    575580               %(min(y), max(y), len(y))
    576581        str += '    t in [%f, %f], len(t) == %d\n'\
    577                %(min(self.T), max(self.T), len(self.T))
     582               %(min(self.time), max(self.time), len(self.time))
    578583        str += '  Quantities:\n'
    579584        for name in quantity_names:
  • inundation/fit_interpolate/spike_least_squares.py

    r2781 r2884  
    10781078        self.vertex_coordinates = vertex_coordinates
    10791079        self.interpolation_points = interpolation_points
    1080         self.T = time[:]  # Time assumed to be relative to starttime
     1080        self.time = time[:]  # Time assumed to be relative to starttime
    10811081        self.index = 0    # Initial time index
    10821082        self.precomputed_values = {}
     
    11001100
    11011101            m = len(self.interpolation_points)
    1102             p = len(self.T)
     1102            p = len(self.time)
    11031103           
    11041104            for name in quantity_names:
     
    11151115
    11161116            if verbose: print 'Interpolate'
    1117             for i, t in enumerate(self.T):
     1117            for i, t in enumerate(self.time):
    11181118                #Interpolate quantities at this timestep
    11191119                if verbose and i%((p+10)/10)==0:
     
    11451145        #    #Return an average, making this a time series
    11461146        #    for name in quantity_names:
    1147         #        self.values[name] = zeros(len(self.T), Float)
     1147        #        self.values[name] = zeros(len(self.time), Float)
    11481148        #
    11491149        #    if verbose: print 'Compute mean values'
    1150         #    for i, t in enumerate(self.T):
    1151         #        if verbose: print ' time step %d of %d' %(i, len(self.T))
     1150        #    for i, t in enumerate(self.time):
     1151        #        if verbose: print ' time step %d of %d' %(i, len(self.time))
    11521152        #        for name in quantity_names:
    11531153        #           self.values[name][i] = mean(quantities[name][i,:])
     
    11981198
    11991199
    1200         msg = 'Time interval [%s:%s]' %(self.T[0], self.T[1])
     1200        msg = 'Time interval [%s:%s]' %(self.time[0], self.time[-1])
    12011201        msg += ' does not match model time: %s\n' %t
    1202         if t < self.T[0]: raise Exception(msg)
    1203         if t > self.T[-1]: raise Exception(msg)
     1202        if t < self.time[0]: raise Exception(msg)
     1203        if t > self.time[-1]: raise Exception(msg)
    12041204
    12051205        oldindex = self.index #Time index
    12061206
    12071207        #Find current time slot
    1208         while t > self.T[self.index]: self.index += 1
    1209         while t < self.T[self.index]: self.index -= 1
    1210 
    1211         if t == self.T[self.index]:
     1208        while t > self.time[self.index]: self.index += 1
     1209        while t < self.time[self.index]: self.index -= 1
     1210
     1211        if t == self.time[self.index]:
    12121212            #Protect against case where t == T[-1] (last time)
    12131213            # - also works in general when t == T[i]
     
    12151215        else:
    12161216            #t is now between index and index+1
    1217             ratio = (t - self.T[self.index])/\
    1218                     (self.T[self.index+1] - self.T[self.index])
     1217            ratio = (t - self.time[self.index])/\
     1218                    (self.time[self.index+1] - self.time[self.index])
    12191219
    12201220        #Compute interpolated values
     
    13021302               %(min(y), max(y), len(y))
    13031303        str += '    t in [%f, %f], len(t) == %d\n'\
    1304                %(min(self.T), max(self.T), len(self.T))
     1304               %(min(self.time), max(self.time), len(self.time))
    13051305        str += '  Quantities:\n'
    13061306        for name in quantity_names:
     
    13341334        #      %(min(y), max(y), len(y))
    13351335        #print '    t in [%f, %f], len(t) == %d'\
    1336         #      %(min(self.T), max(self.T), len(self.T))
     1336        #      %(min(self.time), max(self.time), len(self.time))
    13371337        #print '  Quantities:'
    13381338        #for name in quantity_names:
Note: See TracChangeset for help on using the changeset viewer.