Changeset 1144


Ignore:
Timestamp:
Mar 24, 2005, 4:22:35 PM (20 years ago)
Author:
ole
Message:

Optimisation of sww2asc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • inundation/ga/storm_surge/pyvolution/data_manager.py

    r1143 r1144  
    11021102    volumes = fid.variables['volumes'][:]
    11031103
    1104     vertex_points = concatenate ((x[:, NewAxis] ,y[:, NewAxis]), axis = 1)
    1105     assert len(vertex_points.shape) == 2
    1106 
    11071104    ymin = min(y); ymax = max(y)
    11081105    xmin = min(x); xmax = max(x)
     
    11511148    prjid.close()
    11521149
    1153     #Create grid and update xll/yll corner
     1150    #Create grid and update xll/yll corner and x,y
    11541151    if verbose: print 'Creating grid'
    11551152    ncols = int((xmax-xmin)/cellsize)+1
    11561153    nrows = int((ymax-ymin)/cellsize)+1
    11571154
    1158     xllcorner = xmin+xllcorner
    1159     yllcorner = ymin+yllcorner   
    1160 
     1155    newxllcorner = xmin+xllcorner
     1156    newyllcorner = ymin+yllcorner
     1157   
     1158    x = x+xllcorner-newxllcorner
     1159    y = y+yllcorner-newyllcorner
     1160
     1161    vertex_points = concatenate ((x[:, NewAxis] ,y[:, NewAxis]), axis = 1)
     1162    assert len(vertex_points.shape) == 2
     1163   
    11611164
    11621165    from Numeric import zeros, Float
     
    11981201    ascid.write('ncols         %d\n' %ncols)
    11991202    ascid.write('nrows         %d\n' %nrows)
    1200     ascid.write('xllcorner     %d\n' %xllcorner)
    1201     ascid.write('yllcorner     %d\n' %yllcorner)
     1203    ascid.write('xllcorner     %d\n' %newxllcorner)
     1204    ascid.write('yllcorner     %d\n' %newyllcorner)
    12021205    ascid.write('cellsize      %f\n' %cellsize)
    12031206    ascid.write('NODATA_value  %d\n' %NODATA_value)                   
     
    12091212    #print grid_points
    12101213    #print grid_values
     1214
     1215    inside_indices = inside_polygon(grid_points, P)
    12111216   
    12121217    for i in range(nrows):
    1213         if verbose and i%((i+10)/10)==0:
     1218        if verbose and i%((nrows+1)/10)==0:
    12141219            print 'Doing row %d of %d' %(i, nrows)
    12151220           
     
    12171222            index = (nrows-i-1)*ncols+j
    12181223           
    1219             if inside_polygon(grid_points[index], P):
     1224            #if inside_polygon(grid_points[index], P):
     1225            if index in inside_indices:
    12201226                ascid.write('%f ' %grid_values[index])               
    12211227            else:
Note: See TracChangeset for help on using the changeset viewer.