def main_plot(data, **kwargs): what_type = kwargs["what_type"] mode = kwargs["mode"] show = kwargs["show"] save = kwargs["save"] save_name = kwargs["save_name"] if what_type == "non_line": visualize.visual_non_line(data, mode=mode, save_name=save_name, show=show) elif what_type == "map": mode0 = mode[0] submode = mode[1] if mode0 == 0: visualize.visual_map(data, mode0, submode, save_name=save_name, show=show) elif mode0 == 1: visualize.visual_map(data, mode0, submode, save_name=save_name, show=show) elif mode0 == 2: data = [ic0_900_file_name, latlon900_file_name] visualize.visual_map(data, mode0, submode, save_name=save_name, show=show)
def scatter_5(): dirs = "../result/scatter/scatter_A_30_and_sit_h_np/" try: os.makedirs(dirs) except: print('directory {} already exists'.format(dirs)) for i, start in enumerate(start_list): print("****************** {}/{} *******************".format(i+1, M)) month_end = start_list_plus_1month[i+1] month_end = date(month_end//10000, (month_end%10000)//100, (month_end%10000)%100) - timedelta(days=1) end = start + month_end.day - 1 _, _, _, data_A = main_data( start, start, span=30, get_columns=["coeff"], region=None, accumulate=False ) data_A = data_A.loc[:, ["data_idx", "A", "coef"]] data_A.A.loc[data_A.coef**2<0.4**2] = np.nan data_A.A.loc[data_A.A<0] *= -1 #data_A.A.loc[data_A.data_idx==0.] = np.nan date_ax, _, skipping_date_str, data_sit_30 = main_data( start, end, span=30, get_columns=["sit_145"], region=None, accumulate=True ) data_array = np.array(data_sit_30) """ data_array_1 = np.ma.masked_invalid(data_array) data_count_nan = np.sum(data_array_1.recordmask, axis=0) data_ave = np.sum(data_array, axis=0) / (len(date_ax)-data_count_nan) """ data_ave = np.nanmean(data_array, axis=0) data_ave = pd.DataFrame(data_ave) data_ave.columns = ["sit_30"] data = pd.concat([latlon_ex, data_A, data_ave], axis=1) data = data[data.Name=="north_polar"] print(data.dropna().head()) save_name = dirs + str(start)[:6] + ".png" #visualize.pyで関数を選ぶ visualize.visual_non_line( data, mode=["scatter", ["sit_30", "A"]], save_name=save_name, show=False ) print("\n")
def test_w_iw(): start_list = [] n = 20000000 y_list = [4, 6, 8, 10, 14, 16] for i in y_list: m = n + i * 10000 for j in [2, 4, 6, 8, 10]: start_list.append(m + j * 100 + 1) dirs = "../result_h/test/w_iw/" mkdir(dirs) for i, start in enumerate(start_list): print("******************* {}/{} *******************".format( i + 1, M)) month_end = start + 100 month_end = date(month_end // 10000, (month_end % 10000) // 100, (month_end % 10000) % 100) - timedelta(days=1) end = start + month_end.day - 1 _, _, _, data = main_data(start, end, span=30, get_columns=["w", "iw"], region=None, accumulate=True) np_region_idx = np.array( latlon_ex.loc[latlon_ex.Name == "north_polar", :].index) print(np_region_idx) data = np.array(data) #data_w = data[:, :, 0].flatten().reshape(-1,1) #data_iw = data[:, :, 3].flatten().reshape(-1,1) #data = np.hstack((data_w, data_iw)) #print(data.shape) #print(data[10, :, [0,3]].shape) data = data[10, :, [0, 3]].T data = data[np_region_idx, :] data = pd.DataFrame(data) #print(data.shape) data.columns = ["w", "iw"] save_name = dirs + str(start)[:6] + ".png" visualize.visual_non_line(data.dropna(), mode=["scatter", ["w", "iw"]], save_name=save_name, show=False)
def H_corr_1month(): dirs_ic0 = "../result_h/corr/H_corr_1month_ic0/" mkdir(dirs_ic0) dirs_sit = "../result_h/corr/H_corr_1month_sit/" mkdir(dirs_sit) start_list = [] n = 20000000 y_list = [3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16] for i in y_list: m = n + i * 10000 for j in range(12): start_list.append(m + (j + 1) * 100 + 1) M = len(start_list) start_list_plus_1month = start_list + [20170101] for i, start in enumerate(start_list): print("****************** {}/{} *******************".format( i + 1, M)) month_end = start_list_plus_1month[i + 1] month_end = date(month_end // 10000, (month_end % 10000) // 100, (month_end % 10000) % 100) - timedelta(days=1) end = start + month_end.day - 1 start_1month_before = date(start // 10000, (start % 10000) // 100, (start % 10000) % 100) - timedelta(days=1) start_1month_before = int(calc_data.cvt_date(start_1month_before)) print("\tA month: {}\n\tIC0 & SIT month: {}, {}".format( start_1month_before, start, end)) _, _, _, data_A_original = main_data(start_1month_before, start_1month_before, span=30, get_columns=["hermert"], region=None, accumulate=False) _, _, _, data_ic0_sit = main_data(start, end, span=30, get_columns=["ic0_145", "sit_145"], region=None, accumulate=True) data_array = np.array(data_ic0_sit) data_ave = np.nanmean(data_array, axis=0) data_ave = pd.DataFrame(data_ave) data_ave.columns = ["ic0_30", "sit_30"] data_A = data_A_original["A"] data = pd.concat([latlon_ex, data_A, data_ave], axis=1) save_name = dirs_ic0 + str(start)[:6] + ".png" visualize.visual_non_line(data, mode=["scatter", ["ic0_30", "A"]], save_name=save_name, show=False) save_name = dirs_sit + str(start)[:6] + ".png" visualize.visual_non_line(data, mode=["scatter", ["sit_30", "A"]], save_name=save_name, show=False) print("\n")
def H_scatter_sit_np(): dirs_A_30_and_sit_all = "../result/scatter/scatter_A_30_and_sit_all/" mkdir(dirs_A_30_and_sit_all) dirs_A_30_and_sit_np = "../result/scatter/scatter_A_30_and_sit_np/" mkdir(dirs_A_30_and_sit_np) dirs_A_30_and_sit_h_np = "../result/scatter/scatter_A_30_and_sit_h_np/" mkdir(dirs_A_30_and_sit_h_np) dirs_angle_30_and_sit_all = "../result/scatter/scatter_angle_30_and_sit_all/" mkdir(dirs_angle_30_and_sit_all) dirs_angle_30_and_sit_np = "../result/scatter/scatter_angle_30_and_sit_np/" mkdir(dirs_angle_30_and_sit_np) dirs_angle_30_and_sit_h_np = "../result/scatter/scatter_angle_30_and_sit_h_np/" mkdir(dirs_angle_30_and_sit_h_np) for i, start in enumerate(start_list): print("****************** {}/{} *******************".format(i+1, M)) month_end = start_list_plus_1month[i+1] month_end = date(month_end//10000, (month_end%10000)//100, (month_end%10000)%100) - timedelta(days=1) end = start + month_end.day - 1 _, _, _, data_A_original = main_data( start, start, span=30, get_columns=["hermert"], region=None, accumulate=False ) _, _, _, data_sit_30 = main_data( start, end, span=30, get_columns=["sit_145"], region=None, accumulate=True ) data_array = np.array(data_sit_30) data_ave = np.nanmean(data_array, axis=0) data_ave = pd.DataFrame(data_ave) data_ave.columns = ["sit_30"] #dirs_A_30_and_sit_all data_A = data_A_original["A"] data = pd.concat([latlon_ex, data_A, data_ave], axis=1) save_name = dirs_A_30_and_sit_all + str(start)[:6] + ".png" visualize.visual_non_line( data, mode=["scatter", ["sit_30", "A"]], save_name=save_name, show=False ) #dirs_A_30_and_sit_np data_A_1 = data_A_original.loc[:, ["A", "R2"]] data_1 = pd.concat([latlon_ex, data_A_1, data_ave], axis=1) data_1 = data_1[data_1.Name=="north_polar"] save_name = dirs_A_30_and_sit_np + str(start)[:6] + ".png" visualize.visual_non_line( data_1, mode=["scatter", ["sit_30", "A"]], save_name=save_name, show=False ) #dirs_A_30_and_sit_h_np data_A_2 = data_A_original.loc[:, ["A", "R2"]] data_A_2.loc[data_A_2.R2<threshold_R2, data_A_2.A] = np.nan data_1_2 = pd.concat([latlon_ex, data_A_2, data_ave], axis=1) data_1_2 = data_1_2[data_1_2.Name=="north_polar"] save_name = dirs_A_30_and_sit_h_np + str(start)[:6] + ".png" visualize.visual_non_line( data_1_2, mode=["scatter", ["sit_30", "A"]], save_name=save_name, show=False ) #dirs_angle_30_and_sit_all data_angle = data_A_original["theta"] data_2 = pd.concat([latlon_ex, data_angle, data_ave], axis=1) save_name = dirs_angle_30_and_sit_all + str(start)[:6] + ".png" visualize.visual_non_line( data_2, mode=["scatter", ["sit_30", "theta"]], save_name=save_name, show=False ) #dirs_angle_30_and_sit_np data_angle_1 = data_A_original.loc[:, ["theta", "R2"]] data_3 = pd.concat([latlon_ex, data_angle_1, data_ave], axis=1) data_3 = data_3[data_3.Name=="north_polar"] save_name = dirs_angle_30_and_sit_np + str(start)[:6] + ".png" visualize.visual_non_line( data_3, mode=["scatter", ["sit_30", "theta"]], save_name=save_name, show=False ) #dirs_angle_30_and_sit_h_np data_angle_1 = data_A_original.loc[:, ["theta", "R2"]] data_angle_1.loc[data_angle_1.R2<threshold_R2, data_angle_1.theta] = np.nan data_3 = pd.concat([latlon_ex, data_angle_1, data_ave], axis=1) data_3 = data_3[data_3.Name=="north_polar"] save_name = dirs_angle_30_and_sit_h_np + str(start)[:6] + ".png" visualize.visual_non_line( data_3, mode=["scatter", ["sit_30", "theta"]], save_name=save_name, show=False ) print("\n")
_, _, _, data = main_data( start, end, span=30, get_columns=["w", "iw"], region=None, accumulate=True ) ! data = data[:, :, [0, 3]] data = pd.DataFrame(data) data.columns = ["iw", "w"] save_name = dirs + str(start)[:6] + ".png" visualize.visual_non_line( data, mode=["scatter", ["w", "iw"]], save_name=save_name, show=False ) ############################################################################################################### #R2_30, epsilon2_30 def H_R2_e2_30(): dirs_R2 = "../result_h/R2/R2_30/" mkdir(dirs_R2) dirs_e2 = "../result_h/epsilon2/epsilon2_30/" mkdir(dirs_e2) for i, start in enumerate(start_list):
def scatter_0(): """ start_list = [] n = 20000000 y_list = [13,14,15,16] for i in y_list: m = n + i*10000 for j in range(12): start_list.append(m + (j+1)*100 + 1) start_ex_list = [20170101, 20170201, 20170301, 20170401, 20170501, 20170601,20170701,20170801] start_list = np.sort(np.array(list(set(start_list)|set(start_ex_list)))).tolist() M = len(start_list) start_list_plus_1month = start_list + [20170901] """ dirs = "../result/scatter/scatter_A_30_and_ic0_np/" try: os.makedirs(dirs) except: print('directory {} already exists'.format(dirs)) for i, start in enumerate(start_list): print("****************** {}/{} *******************".format(i+1, M)) month_end = start_list_plus_1month[i+1] month_end = date(month_end//10000, (month_end%10000)//100, (month_end%10000)%100) - timedelta(days=1) end = start + month_end.day - 1 _, _, _, data_A = main_data( start, start, span=30, get_columns=["coeff"], region=None, accumulate=False ) data_A = data_A.loc[:, ["data_idx", "A"]] data_A.A.loc[data_A.A<0] *= -1 #data_A.A.loc[data_A.data_idx==0.] = np.nan date_ax, _, _, data_ic0_30 = main_data( start, end, span=30, get_columns=["ic0_145"], region=None, accumulate=True ) data_array = np.array(data_ic0_30) """ data_array_1 = np.ma.masked_invalid(data_array) data_count_nan = np.sum(data_array_1.recordmask, axis=0) data_ave = np.sum(data_array, axis=0) / (len(date_ax)-data_count_nan) """ data_ave = np.nanmean(data_array, axis=0) data_ave = pd.DataFrame(data_ave) data_ave.columns = ["ic0_30"] data = pd.concat([latlon_ex, data_A, data_ave], axis=1) data = data[data.Name=="north_polar"] #print(data.dropna().head()) save_name = dirs + str(start)[:6] + ".png" #visualize.pyで関数を選ぶ visualize.visual_non_line( data, mode=["scatter", ["ic0_30", "A"]], save_name=save_name, show=False ) print("\n")