Changeset 1075
- Timestamp:
- Mar 14, 2005, 2:13:50 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
inundation/ga/storm_surge/pyvolution/data_manager.py
r1066 r1075 208 208 209 209 210 def __init__(self, domain, mode = 'w', filename_ext = ''): 210 def __init__(self, domain, mode = 'w',\ 211 max_size = 2000000000,recursion=False): 211 212 from Scientific.IO.NetCDF import NetCDFFile 212 213 from Numeric import Int, Float, Float32 213 214 214 215 self.precision = Float32 #Use single precision 215 self.max_size = 2000000000#file size max is 2Gig 216 if hasattr(domain,'max_size'): 217 self.max_size = domain.max_size#file size max is 2Gig 218 else: 219 self.max_size = max_size 220 self.recursion = recursion 216 221 self.mode = mode 217 222 … … 327 332 #Close 328 333 fid.close() 329 330 334 331 335 def store_timestep(self, names): … … 367 371 file_size = stat(self.filename)[6] 368 372 file_size_increase = file_size/i 369 if file_size + file_size_increase > self.max_size :373 if file_size + file_size_increase > self.max_size*(2**self.recursion): 370 374 #in order to get the file name and start time correct, 371 375 #I change the domian.filename and domain.starttime. … … 373 377 #other modules (I think). 374 378 375 #write a filename addon that won't bread swollen 379 #write a filename addon that won't break swollens reader 380 #(10.sww is bad) 376 381 filename_ext = '_time_%s'%self.domain.time 377 382 filename_ext = filename_ext.replace('.', '_') … … 379 384 #name with the extension 380 385 old_domain_filename = self.domain.filename 381 self.domain.filename = self.domain.filename+filename_ext 386 if not self.recursion: 387 self.domain.filename = self.domain.filename+filename_ext 382 388 383 389 #change the domain starttime to the current time … … 387 393 #build a new data_structure. 388 394 next_data_structure=\ 389 Data_format_sww(self.domain, mode=self.mode\ 390 ,filename_ext=filename_ext) 391 print ' file_size = %s'%file_size 392 print ' saving file to %s'%self.next_data_structure.filename 393 395 Data_format_sww(self.domain, mode=self.mode,\ 396 max_size = self.max_size,\ 397 recursion = self.recursion+1) 398 if not self.recursion: 399 print ' file_size = %s'%file_size 400 print ' saving file to %s'%next_data_structure.filename 394 401 #set up the new data_structure 395 402 self.domain.writer = next_data_structure … … 405 412 self.domain.filename = old_domain_filename 406 413 else: 414 self.recursion = False 407 415 domain = self.domain 408 416 … … 444 452 fid.sync() 445 453 fid.close() 454 446 455 447 456 … … 591 600 fid.sync() 592 601 fid.close() 593 594 595 602 596 603
Note: See TracChangeset
for help on using the changeset viewer.