Changeset 2884 for inundation/fit_interpolate
- Timestamp:
- May 16, 2006, 2:42:12 PM (19 years ago)
- Location:
- inundation/fit_interpolate
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
inundation/fit_interpolate/interpolate.py
r2879 r2884 363 363 self.vertex_coordinates = vertex_coordinates 364 364 self.interpolation_points = interpolation_points 365 self. T= time[:] # Time assumed to be relative to starttime365 self.time = time[:] # Time assumed to be relative to starttime 366 366 self.index = 0 # Initial time index 367 367 self.precomputed_values = {} … … 383 383 384 384 m = len(self.interpolation_points) 385 p = len(self. T)385 p = len(self.time) 386 386 387 387 for name in quantity_names: … … 397 397 398 398 if verbose: print 'Interpolate' 399 for i, t in enumerate(self. T):399 for i, t in enumerate(self.time): 400 400 #Interpolate quantities at this timestep 401 401 if verbose and i%((p+10)/10)==0: … … 467 467 raise Exception(msg) 468 468 469 msg = 'Time interval [%.16f:%.16f]' %(self. T[0], self.T[-1])469 msg = 'Time interval [%.16f:%.16f]' %(self.time[0], self.time[-1]) 470 470 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) 473 473 474 474 oldindex = self.index #Time index 475 475 476 476 #Find current time slot 477 while t > self. T[self.index]: self.index += 1478 while t < self. T[self.index]: self.index -= 1479 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]: 481 481 #Protect against case where t == T[-1] (last time) 482 482 # - also works in general when t == T[i] … … 484 484 else: 485 485 #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]) 488 488 489 489 #Compute interpolated values … … 554 554 555 555 556 def get_time(self): 557 """Return model time as a vector of timesteps 558 """ 559 return self.time 560 556 561 def statistics(self): 557 562 """Output statistics about interpolation_function … … 575 580 %(min(y), max(y), len(y)) 576 581 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)) 578 583 str += ' Quantities:\n' 579 584 for name in quantity_names: -
inundation/fit_interpolate/spike_least_squares.py
r2781 r2884 1078 1078 self.vertex_coordinates = vertex_coordinates 1079 1079 self.interpolation_points = interpolation_points 1080 self. T= time[:] # Time assumed to be relative to starttime1080 self.time = time[:] # Time assumed to be relative to starttime 1081 1081 self.index = 0 # Initial time index 1082 1082 self.precomputed_values = {} … … 1100 1100 1101 1101 m = len(self.interpolation_points) 1102 p = len(self. T)1102 p = len(self.time) 1103 1103 1104 1104 for name in quantity_names: … … 1115 1115 1116 1116 if verbose: print 'Interpolate' 1117 for i, t in enumerate(self. T):1117 for i, t in enumerate(self.time): 1118 1118 #Interpolate quantities at this timestep 1119 1119 if verbose and i%((p+10)/10)==0: … … 1145 1145 # #Return an average, making this a time series 1146 1146 # for name in quantity_names: 1147 # self.values[name] = zeros(len(self. T), Float)1147 # self.values[name] = zeros(len(self.time), Float) 1148 1148 # 1149 1149 # 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)) 1152 1152 # for name in quantity_names: 1153 1153 # self.values[name][i] = mean(quantities[name][i,:]) … … 1198 1198 1199 1199 1200 msg = 'Time interval [%s:%s]' %(self. T[0], self.T[1])1200 msg = 'Time interval [%s:%s]' %(self.time[0], self.time[-1]) 1201 1201 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) 1204 1204 1205 1205 oldindex = self.index #Time index 1206 1206 1207 1207 #Find current time slot 1208 while t > self. T[self.index]: self.index += 11209 while t < self. T[self.index]: self.index -= 11210 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]: 1212 1212 #Protect against case where t == T[-1] (last time) 1213 1213 # - also works in general when t == T[i] … … 1215 1215 else: 1216 1216 #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]) 1219 1219 1220 1220 #Compute interpolated values … … 1302 1302 %(min(y), max(y), len(y)) 1303 1303 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)) 1305 1305 str += ' Quantities:\n' 1306 1306 for name in quantity_names: … … 1334 1334 # %(min(y), max(y), len(y)) 1335 1335 #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)) 1337 1337 #print ' Quantities:' 1338 1338 #for name in quantity_names:
Note: See TracChangeset
for help on using the changeset viewer.