Пример #1
0
for i in xrange(len(lat)):
    for j in xrange(len(lon)):
        i_cells, = np.where((lon_nodes[j] <= lon_msk) & \
                            (lon_msk <= lon_nodes[j+1]) & \
                            (lat_nodes[i] <= lat_msk) & \
                            (lat_msk <= lat_nodes[i+1]) & \
                            (msk == 4))  # 4 = ice shelf

        # each mask cell is 1 km**2
        area[i,j] = len(i_cells)
        cells_idx = np.append(cells_idx, i_cells)

cells_idx = [int(i) for i in cells_idx]

print 'done'
ind = ap.where_isnan('crosson', lon, lat)
area[ind] = np.nan
print 'Total area (km2):', np.nansum(area)

if SAVE:
    f = tb.open_file(FILE_OUT, 'a')
    '''
    f.create_array('/', 'area', area)
    f.create_array('/', 'lon', lon)
    f.create_array('/', 'lat', lat)
    '''
    f.create_array('/', 'area_5', area)
    f.create_array('/', 'lon_5', lon)
    f.create_array('/', 'lat_5', lat)
    f.flush()
    f.close()
Пример #2
0
error = fin.root.dh_error_xcal[:]
time = ap.num2year(fin.root.time_xcal[:])
lon = fin.root.lon[:]
lat = fin.root.lat[:]
xx, yy = np.meshgrid(lon, lat)
nz, ny, nx = data.shape

f1 = tb.open_file(FILE_OFFSET)
offset_12 = f1.root.offset_12[:]
offset_23 = f1.root.offset_23[:]
f1.close()
print('done')

if 0: # (for testing only) subset
    print lon.shape, lat.shape, data.shape
    i, j = ap.where_isnan('Totten', lon, lat)
    data[:,i,j] = np.nan
    '''
    plt.imshow(data[10], origin='lower', interpolation='nearest', 
               extent=(lon.min(), lon.max(), lat.min(), lat.max()), 
               aspect='auto')
    plt.show()
    exit()
    '''

if 1: # (yes) filter time
    _, data = ap.time_filt(time, data, from_time=1994, to_time=2013)
    time, error = ap.time_filt(time, error, from_time=1994, to_time=2013)

dt = ap.year2date(time)