def cut_kernel(xpos, ypos, arr, date, lon, lat, t, parallax=False, rotate=False): if parallax: km, coords = u_gis.call_parallax_era(date.month, t, lon, lat, 0, 0) lx, ly = km lx = int(np.round(lx / 27.5)) ly = int(np.round(ly / 27.5)) # km into pixels xpos = xpos - lx ypos = ypos - ly dist = 11 kernel = u_arrays.cut_kernel(arr,xpos, ypos,dist) if rotate: kernel = u_met.era_wind_rotate(kernel,date.month,lat,lon,level=700, ref_angle=90) # if (np.sum(np.isfinite(kernel)) < 0.10 * kernel.size): # return kernel3 = kernel - np.nanmean(kernel) cnt = np.zeros_like(kernel) cnt[np.isfinite(kernel)] = 1 if kernel.shape != (dist*2+1, dist*2+1): return None return kernel, kernel3, cnt
def cut_kernel(xpos, ypos, arr, date, lon, lat, t, parallax=False, rotate=False, probs=False): if parallax: km, coords = u_gis.call_parallax_era(date.month, t, lon, lat, 0, 0) lx, ly = km lx = int(np.round(lx / 3.)) ly = int(np.round(ly / 3.)) # km into pixels xpos = xpos - lx ypos = ypos - ly dist = 200 kernel = u_arrays.cut_kernel(arr, xpos, ypos, dist) if np.sum(probs) > 0: prob = u_arrays.cut_kernel(probs, xpos, ypos, dist) cnt2 = np.zeros_like(kernel) cnt2[np.isfinite(prob)] = 1 else: prob = np.zeros_like(kernel) cnt2 = np.zeros_like(kernel) if rotate: kernel = u_met.era_wind_rotate(kernel, date, lat, lon, level=700, ref_angle=90) if (np.sum(np.isfinite(kernel)) < 2): return kernel3 = kernel - np.nanmean(kernel) cnt = np.zeros_like(kernel) cnt[np.isfinite(kernel)] = 1 if kernel.shape != (dist * 2 + 1, dist * 2 + 1): pdb.set_trace() return kernel, kernel3, cnt, prob, cnt2
def cut_kernel(xpos, ypos, arr, date, lon, lat, t, parallax=False, rotate=False, probs=False): if parallax: km, coords = u_gis.call_parallax_era(date.month, t, lon, lat, 0, 0) lx, ly = km lx = int(np.round(lx / 3.)) ly = int(np.round(ly / 3.)) # km into pixels xpos = xpos - lx ypos = ypos - ly dist = 200 kernel = u_arrays.cut_kernel(arr,xpos, ypos,dist) vdic = {} for d in probs.data_vars: var = u_arrays.cut_kernel(probs[d].values,xpos, ypos,dist) vdic[d] = var cnt2 = np.zeros_like(vdic[list(vdic.keys())[0]]) cnt2[np.isfinite(vdic[list(vdic.keys())[0]])] = 1 if rotate: kernel = u_met.era_wind_rotate(kernel,date,lat,lon,level=700, ref_angle=90) if (np.sum(np.isfinite(kernel)) < 2): return kernel3 = kernel - np.nanmean(kernel) cnt = np.zeros_like(kernel) cnt[np.isfinite(kernel)] = 1 if kernel.shape != (dist*2+1, dist*2+1): pdb.set_trace() return kernel, kernel3, cnt, cnt2, vdic
def cut_kernel(xpos, ypos, arr, date, lon, lat, t, parallax=False, rotate=False): if parallax: km, coords = u_gis.call_parallax_era(date.month, t, lon, lat, 0, 0) lx, ly = km lx = int(np.round(lx / 3.)) ly = int(np.round(ly / 3.)) # km into pixels xpos = xpos - lx ypos = ypos - ly dist = 100 kernel = u_arrays.cut_kernel(arr, xpos, ypos, dist) if rotate: kernel = u_met.era_wind_rotate(kernel, date, lat, lon, level=700, ref_angle=90) if (np.sum(np.isfinite(kernel)) < 0.10 * kernel.size): return kernel3 = kernel - np.nanmean(kernel) cnt = np.zeros_like(kernel) cnt[np.isfinite(kernel)] = 1 if kernel.shape != (201, 201): return return kernel, kernel3, cnt
def cut_kernel(xpos, ypos, arr, date, lon, lat, t, parallax=False, probs=False): if parallax: km, coords = u_gis.call_parallax_era(date.month, t, lon, lat, 0, 0) lx, ly = km lx = int(np.round(lx / 3.)) ly = int(np.round(ly / 3.)) # km into pixels xpos = xpos - lx ypos = ypos - ly dist = 200 kernel = u_arrays.cut_kernel(arr,xpos, ypos,dist) if np.nansum(probs) > 0: prob = u_arrays.cut_kernel(probs,xpos, ypos,dist) cnt2 = np.zeros_like(kernel) cnt2[np.isfinite(prob)] = 1 else: prob = np.zeros_like(kernel) cnt2 = np.zeros_like(kernel) if (np.sum(np.isfinite(kernel)) < 2): return kernel3 = kernel - np.nanmean(kernel) cnt = np.zeros_like(kernel) cnt[np.isfinite(kernel)] = 1 if kernel.shape != (dist*2+1, dist*2+1): pdb.set_trace() return kernel, kernel3, cnt, prob, cnt2