obs_tags = modules.get_tags(obs_refs) obs_data = np.array(obs_data) #-------------------------------------------------- areas = ['ANT','S_O','S_NA','S_EU','S_AS','SW_NA','C_EU','SE_AS','SE_NA','E_EU','C_AS','CE_NA','NW_EU','NE_AS','C_NA','N_EU','OC','NW_NA','AF','NE_NA','SA','AL','N_O','ARC','NO GIVEN AREA'] #areas = ['NE_NA','CE_NA','NW_NA','C_NA','S_EU','C_EU','NW_EU','N_EU','E_EU','N_O','NO GIVEN AREA'] area_boundaries,area_tags,area_labels = modules.area_dicts() cm = plt.cm.get_cmap('Set1') obs_areas = [] obs_color_ratios = [] for i in range(len(obs_lats)): obs_areas.append(modules.get_area(area_boundaries,obs_tags[i],obs_lats[i],obs_lons[i],obs_refs[i])) area_color_ratios = np.linspace(0.001,0.999,len(areas)) for i in range(len(obs_areas)): obs_color_ratios.append(area_color_ratios[areas.index(obs_areas[i])]) obs_color_ratios = np.array(obs_color_ratios) start_boolean = (obs_date == int(full_dates[0])) & (obs_time == int(full_times[0])) end_boolean = (obs_date == int(full_dates[-1])) & (obs_time == int(full_times[-1])) start_obs_ind = np.where(start_boolean == True)[0][0] end_obs_ind = (np.where(end_boolean == True)[0][0]) +1 obs_data = obs_data[:,start_obs_ind:end_obs_ind]
areas = [ 'ANT', 'S_O', 'S_NA', 'S_EU', 'S_AS', 'SW_NA', 'C_EU', 'SE_AS', 'SE_NA', 'E_EU', 'C_AS', 'CE_NA', 'NW_EU', 'NE_AS', 'C_NA', 'N_EU', 'OC', 'NW_NA', 'AF', 'NE_NA', 'SA', 'AL', 'N_O', 'ARC', 'NO GIVEN AREA' ] #areas = ['NE_NA','CE_NA','NW_NA','C_NA','S_EU','C_EU','NW_EU','N_EU','E_EU','N_O','NO GIVEN AREA'] area_boundaries, area_tags, area_labels = modules.area_dicts() cm = plt.cm.get_cmap('Set1') obs_areas = [] obs_color_ratios = [] for i in range(len(obs_lats)): obs_areas.append( modules.get_area(area_boundaries, obs_tags[i], obs_lats[i], obs_lons[i], obs_refs[i])) area_color_ratios = np.linspace(0.001, 0.999, len(areas)) for i in range(len(obs_areas)): obs_color_ratios.append(area_color_ratios[areas.index(obs_areas[i])]) obs_color_ratios = np.array(obs_color_ratios) start_boolean = (obs_date == int(full_dates[0])) & (obs_time == int( full_times[0])) end_boolean = (obs_date == int(full_dates[-1])) & (obs_time == int( full_times[-1])) start_obs_ind = np.where(start_boolean == True)[0][0] end_obs_ind = (np.where(end_boolean == True)[0][0]) + 1 obs_data = obs_data[:, start_obs_ind:end_obs_ind]
} tags = modules.get_tags(valid_refs) area_boundaries, area_tags, area_labels = modules.area_dicts() for i in range(len(valid_refs)): site_ref = valid_refs[i] site_group = root_grp.groups[site_ref] obs_lat = site_group.latitude obs_lon = site_group.longitude tag = tags[i] obs_area = modules.get_area(area_boundaries, tag, obs_lat, obs_lon, site_ref) x, y = np.meshgrid(*m(obs_lon, obs_lat)) try: m.scatter(x, y, color=color_dict[obs_area], s=45, alpha=1.) except: pass #handles, labels = plt.gca().get_legend_handles_labels() #hl = sorted(zip(handles, labels), key=operator.itemgetter(1)) #handles, labels = zip(*hl) #by_label = OrderedDict(zip(labels, handles)) #leg = ax.legend(by_label.values(), by_label.keys(), loc = 'upper left', prop={'size':23},markerscale=2) #leg.get_frame().set_facecolor('white')
fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(17, 10)) fig.patch.set_facecolor("white") obs_refs = np.load("obs_refs.npy") obs_lats = np.load("obs_lats.npy") obs_lons = np.load("obs_lons.npy") obs_country = np.load("obs_country.npy") tags = modules.get_tags(obs_refs) area_colors, area_boundaries, area_countries, area_labels = modules.area_dicts() m = Basemap(projection="moll", lon_0=0, resolution="c") m.fillcontinents(color="#cc9966", lake_color="#99ffff", alpha=0.7, zorder=0.5) m.drawmapboundary(fill_color="#99ffff") for i in range(len(obs_refs)): obs_ref = obs_refs[i] obs_lat = obs_lats[i] obs_lon = obs_lons[i] tag = tags[i] country = obs_country[i] area = modules.get_area(area_boundaries, country, tag, obs_lat, obs_lon, obs_ref) x, y = np.meshgrid(*m(obs_lon, obs_lat)) m.scatter(x, y, color=area_colors[area], s=35, zorder=1, alpha=1.0) plt.tight_layout() plt.show()
obs_refs = np.load('obs_refs.npy') obs_lats = np.load('obs_lats.npy') obs_lons = np.load('obs_lons.npy') obs_country = np.load('obs_country.npy') tags = modules.get_tags(obs_refs) area_colors, area_boundaries, area_countries, area_labels = modules.area_dicts( ) m = Basemap(projection='moll', lon_0=0, resolution='c') m.fillcontinents(color='#cc9966', lake_color='#99ffff', alpha=0.7, zorder=0.5) m.drawmapboundary(fill_color='#99ffff') for i in range(len(obs_refs)): obs_ref = obs_refs[i] obs_lat = obs_lats[i] obs_lon = obs_lons[i] tag = tags[i] country = obs_country[i] area = modules.get_area(area_boundaries, country, tag, obs_lat, obs_lon, obs_ref) x, y = np.meshgrid(*m(obs_lon, obs_lat)) m.scatter(x, y, color=area_colors[area], s=35, zorder=1, alpha=1.) plt.tight_layout() plt.show()