Changeset 2073
- Timestamp:
- Nov 25, 2005, 10:24:53 AM (19 years ago)
- Location:
- inundation/pyvolution
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
inundation/pyvolution/data_manager.py
r2069 r2073 2579 2579 def sww2domain(filename,boundary=None,t=None,\ 2580 2580 fail_if_NaN=True,NaN_filler=0\ 2581 ,verbose = True,very_verbose = False):2581 ,verbose = False,very_verbose = False): 2582 2582 """ 2583 2583 Usage: domain = sww2domain('file.sww',t=time (default = last time in file)) … … 3334 3334 fid.close() 3335 3335 3336 #******************** 3337 #*** END OF OBSOLETE FUNCTIONS 3338 #*************** 3339 3336 3340 def asc_csiro2sww(bath_dir, 3337 3341 elevation_dir, … … 3413 3417 number_of_latitudes = bath_grid.shape[0] 3414 3418 number_of_longitudes = bath_grid.shape[1] 3415 number_of_times = len(os.listdir(elevation_dir))3416 number_of_points = number_of_latitudes*number_of_longitudes3419 #number_of_times = len(os.listdir(elevation_dir)) 3420 #number_of_points = number_of_latitudes*number_of_longitudes 3417 3421 number_of_volumes = (number_of_latitudes-1)*(number_of_longitudes-1)*2 3418 3422 … … 3425 3429 latitudes.reverse() 3426 3430 3427 #print "latitudes - before get_min_max_indexes",latitudes3428 kmin, kmax, lmin, lmax = get_min_max_indexes(latitudes,longitudes,3431 #print "latitudes - before _get_min_max_indexes",latitudes 3432 kmin, kmax, lmin, lmax = _get_min_max_indexes(latitudes,longitudes, 3429 3433 minlat=minlat, maxlat=maxlat, 3430 3434 minlon=minlon, maxlon=maxlon) … … 3433 3437 bath_grid = bath_grid[kmin:kmax,lmin:lmax] 3434 3438 #print "bath_grid",bath_grid 3435 number_of_latitudes = bath_grid.shape[0] 3436 number_of_longitudes = bath_grid.shape[1] 3439 latitudes = latitudes[kmin:kmax] 3440 longitudes = longitudes[lmin:lmax] 3441 number_of_latitudes = len(latitudes) 3442 number_of_longitudes = len(longitudes) 3437 3443 number_of_times = len(os.listdir(elevation_dir)) 3438 3444 number_of_points = number_of_latitudes*number_of_longitudes 3439 3445 number_of_volumes = (number_of_latitudes-1)*(number_of_longitudes-1)*2 3440 3446 #print "number_of_points",number_of_points 3441 3442 latitudes = latitudes[kmin:kmax]3443 longitudes = longitudes[lmin:lmax]3444 number_of_latitudes = len(latitudes)3445 number_of_longitudes = len(longitudes)3446 3447 3447 3448 3448 #Work out the times … … 3561 3561 v4 = vertices[l+1,k] 3562 3562 3563 volumes.append([v1,v2,v3]) #Upper element 3564 volumes.append([v4,v3,v2]) #Lower element 3563 #Note, this is different to the ferrit2sww code 3564 #since the order of the lats is reversed. 3565 volumes.append([v1,v3,v2]) #Upper element 3566 volumes.append([v4,v2,v3]) #Lower element 3565 3567 3566 3568 volumes = array(volumes) … … 3568 3570 geo_ref = Geo_reference(refzone,min(x),min(y)) 3569 3571 geo_ref.write_NetCDF(outfile) 3572 3573 # This will put the geo ref in the middle 3574 #geo_ref = Geo_reference(refzone,(max(x)+min(x))/2.0,(max(x)+min(y))/2.) 3575 3576 3577 if verbose: 3578 print '------------------------------------------------' 3579 print 'More Statistics:' 3580 print ' Extent (/lon):' 3581 print ' x in [%f, %f], len(lat) == %d'\ 3582 %(min(x), max(x), 3583 len(x)) 3584 print ' y in [%f, %f], len(lon) == %d'\ 3585 %(min(y), max(y), 3586 len(y)) 3587 print 'geo_ref: ',geo_ref 3570 3588 3571 3589 z = resize(bath_grid,outfile.variables['z'][:].shape) … … 3628 3646 outfile.close() 3629 3647 3630 def get_min_max_indexes(latitudes,longitudes,3648 def _get_min_max_indexes(latitudes,longitudes, 3631 3649 minlat=None, maxlat=None, 3632 3650 minlon=None, maxlon=None): -
inundation/pyvolution/test_data_manager.py
r2064 r2073 13 13 from shallow_water import * 14 14 from config import epsilon 15 import data_manager 15 16 16 17 from coordinate_transforms.geo_reference import Geo_reference … … 3334 3335 fid.close() 3335 3336 3336 sww_file = 'a_test.sww' 3337 sww_file = tempfile.mktemp(".sww") 3338 #sww_file = 'a_test.sww' 3337 3339 asc_csiro2sww(bath_dir,elevation_dir, ucur_dir, vcur_dir, 3338 3340 sww_file, fail_on_NaN = False, elevation_NaN_filler = 0, … … 3387 3389 3388 3390 fid.close() 3389 3391 3392 # is the sww file readable? 3393 #Lets see if we can convert it to a dem! 3394 #print "sww_file",sww_file 3395 #dem_file = tempfile.mktemp(".dem") 3396 domain = sww2domain(sww_file) ###, dem_file) 3397 domain.check_integrity() 3398 3390 3399 #tidy up 3391 3400 os.remove(bath_dir_filename) … … 3396 3405 os.rmdir(elevation_dir) 3397 3406 3398 3407 3408 3399 3409 # remove sww file 3400 3410 os.remove(sww_file) 3411 3412 # remove dem file 3413 #os.remove(dem_file) 3401 3414 3402 3415 def test_get_min_max_indexes(self): … … 3406 3419 # k - lat 3407 3420 # l - lon 3408 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes, 3409 -10,4,-10,31) 3421 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes( 3422 latitudes,longitudes, 3423 -10,4,-10,31) 3410 3424 3411 3425 #print "kmin",kmin;print "kmax",kmax … … 3420 3434 3421 3435 ## 2nd test 3422 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes, 3423 0.5,2.5,5,25) 3436 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes( 3437 latitudes,longitudes, 3438 0.5,2.5,5,25) 3424 3439 #print "kmin",kmin;print "kmax",kmax 3425 3440 #print "lmin",lmin;print "lmax",lmax … … 3434 3449 3435 3450 ## 3rd test 3436 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes, 3451 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes(latitudes, 3452 longitudes, 3437 3453 1.1,1.9,12,17) 3438 3454 #print "kmin",kmin;print "kmax",kmax … … 3449 3465 3450 3466 ## 4th test 3451 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes, 3467 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes( 3468 latitudes,longitudes, 3452 3469 -0.1,1.9,-2,17) 3453 3470 #print "kmin",kmin;print "kmax",kmax … … 3462 3479 'failed') 3463 3480 ## 5th test 3464 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes, 3465 0.1,1.9,2,17) 3481 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes( 3482 latitudes,longitudes, 3483 0.1,1.9,2,17) 3466 3484 #print "kmin",kmin;print "kmax",kmax 3467 3485 #print "lmin",lmin;print "lmax",lmax … … 3477 3495 ## 6th test 3478 3496 3479 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes, 3480 1.5,4,18,32) 3497 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes( 3498 latitudes,longitudes, 3499 1.5,4,18,32) 3481 3500 #print "kmin",kmin;print "kmax",kmax 3482 3501 #print "lmin",lmin;print "lmax",lmax … … 3493 3512 ## 7th test 3494 3513 m2d = array([[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]]) 3495 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes, 3496 1.5,1.5,15,15) 3514 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes( 3515 latitudes,longitudes, 3516 1.5,1.5,15,15) 3497 3517 #print "kmin",kmin;print "kmax",kmax 3498 3518 #print "lmin",lmin;print "lmax",lmax … … 3519 3539 # k - lat 3520 3540 # l - lon 3521 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes, 3522 -37,-27,147,149.5) 3541 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes( 3542 latitudes,longitudes, 3543 -37,-27,147,149.5) 3523 3544 3524 3545 #print "kmin",kmin;print "kmax",kmax … … 3547 3568 # k - lat 3548 3569 # l - lon 3549 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes, 3550 -43,-37,148.5,149.5) 3570 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes( 3571 latitudes,longitudes, 3572 -43,-37,148.5,149.5) 3551 3573 3552 3574 … … 3570 3592 # k - lat 3571 3593 # l - lon 3572 kmin, kmax, lmin, lmax = get_min_max_indexes (latitudes,longitudes)3573 3594 kmin, kmax, lmin, lmax = data_manager._get_min_max_indexes( 3595 latitudes,longitudes) 3574 3596 3575 3597 #print "kmin",kmin;print "kmax",kmax … … 3588 3610 #------------------------------------------------------------- 3589 3611 if __name__ == "__main__": 3590 #suite = unittest.makeSuite(Test_Data_Manager,'test_ asc_csiro2sww4')3612 #suite = unittest.makeSuite(Test_Data_Manager,'test_get_min_max_indexes3') 3591 3613 suite = unittest.makeSuite(Test_Data_Manager,'test') 3592 3614 #suite = unittest.makeSuite(Test_Data_Manager,'test_sww2dem_asc_missing_points')
Note: See TracChangeset
for help on using the changeset viewer.