fig, axes = plt.subplots(nrows=2, ncols=4,figsize=(19,13)) fig.patch.set_facecolor('white') count = 0 for ax in axes.flat: try: area = areas[count] except: ax.axis('off') continue area = areas[count] area_grid = area_boundaries[area] area_tag = area_tags[area] area_label = area_labels[area] cut_test = modules.area_cut(area,lats,lons,tags,area_grid,area_tag) cut_refs = refs[cut_test] y_array = np.average(pressures[cut_test,:],axis=0) print obs_seasonal_waveforms.shape obs_seasonal_waveform_cut = obs_seasonal_waveforms[cut_test,:,:] obs_seasonal_amp_cut = obs_seasonal_amplitudes[cut_test,:] obs_seasonal_ph_cut = obs_seasonal_phases[cut_test,:] model_seasonal_waveform_cut = model_seasonal_waveforms[cut_test,:,:] model_seasonal_amp_cut = model_seasonal_amplitudes[cut_test,:] model_seasonal_ph_cut = model_seasonal_phases[cut_test,:] print obs_seasonal_waveform_cut.shape print len(cut_refs)
obs_no2_data = obs_no2_data[:,start_obs_ind:end_obs_ind] for ax in axes.flat: try: area = areas[count] except: ax.axis('off') continue area_grid = area_boundaries[area] area_tag = area_tags[area] area_label = area_labels[area] print area cut_test_o3 = modules.area_cut(area,obs_o3_lats,obs_o3_lons,obs_o3_tags,area_grid,area_tag) cut_test_no2 = modules.area_cut(area,obs_no2_lats,obs_no2_lons,obs_no2_tags,area_grid,area_tag) cut_test_co = modules.area_cut(area,obs_co_lats,obs_co_lons,obs_co_tags,area_grid,area_tag) obs_o3_cut = obs_o3_data[cut_test_o3,:] obs_no2_cut = obs_no2_data[cut_test_no2,:] obs_co_cut = obs_co_data[cut_test_co,:] print obs_o3_cut.shape print obs_no2_cut.shape print obs_co_cut.shape if obs_o3_cut.shape[0] == 0: count+=1 continue if obs_no2_cut.shape[0] == 0:
fig.patch.set_facecolor('white') count = 0 for ax in axes.flat: try: area = areas[count] except: ax.axis('off') continue print area area_grid = area_boundaries[area] area_tag = area_tags[area] area_label = area_labels[area] cut_test = modules.area_cut(area, obs_lats, obs_lons, tags, area_grid, area_tag) obs_d_w = np.nanmean(obs_daily_waveforms[cut_test, :], axis=0) obs_s_w = np.nanmean(obs_seasonal_waveforms[cut_test, :], axis=0) model_d_w = np.nanmean(model_daily_waveforms[cut_test, :], axis=0) model_s_w = np.nanmean(model_seasonal_waveforms[cut_test, :], axis=0) if plot_type == 'd': ave_obs_waveform = obs_d_w ave_model_waveform = model_d_w if plot_type == 's': ave_obs_waveform = obs_s_w ave_model_waveform = model_s_w if ave_or_no == 'n':
obs_no2_data = obs_no2_data[:, start_obs_ind:end_obs_ind] for ax in axes.flat: try: area = areas[count] except: ax.axis('off') continue area_grid = area_boundaries[area] area_tag = area_tags[area] area_label = area_labels[area] print area cut_test_o3 = modules.area_cut(area, obs_o3_lats, obs_o3_lons, obs_o3_tags, area_grid, area_tag) cut_test_no2 = modules.area_cut(area, obs_no2_lats, obs_no2_lons, obs_no2_tags, area_grid, area_tag) cut_test_co = modules.area_cut(area, obs_co_lats, obs_co_lons, obs_co_tags, area_grid, area_tag) obs_o3_cut = obs_o3_data[cut_test_o3, :] obs_no2_cut = obs_no2_data[cut_test_no2, :] obs_co_cut = obs_co_data[cut_test_co, :] print obs_o3_cut.shape print obs_no2_cut.shape print obs_co_cut.shape if obs_o3_cut.shape[0] == 0: count += 1
#count = 0 #for ax in axes.flat: #try: #area = areas[count] #except: #ax.axis('off') #continue count = 0 for area in areas: print area area_grid = area_boundaries[area] area_country = area_countries[area] area_label = area_labels[area] cut_test = modules.area_cut(area,obs_lats,obs_lons,tags,area_grid,obs_country,area_country,obs_refs) print len(obs_daily_waveform[cut_test,:]) obs_d_w = np.nanmean(obs_daily_waveform[cut_test,:],axis=0) obs_s_w = np.nanmean(obs_seasonal_waveform[cut_test,:],axis=0) if plot_type == 'd': ave_obs_waveform = obs_d_w max_ph = np.argmax(ave_obs_waveform) max_amp = (np.max(ave_obs_waveform) - np.min(ave_obs_waveform))/2. ave = np.average(ave_obs_waveform) if plot_type == 's': ave_obs_waveform = obs_s_w max_ph = np.argmax(ave_obs_waveform)/24. max_amp = (np.max(ave_obs_waveform) - np.min(ave_obs_waveform))/2. ave = np.average(ave_obs_waveform)
ax.axis('off') continue print area obs_ave_o3 = [] obs_twentyfifth_o3 = [] obs_seventyfifth_o3 = [] geoschem_ave_o3 = [] geoschem_twentyfifth_o3 = [] geoschem_seventyfifth_o3 = [] area_grid = area_boundaries[area] area_tag = area_tags[area] area_label = area_labels[area] cut_test_o3 = modules.area_cut(area,obs_lats_o3,obs_lons_o3,tags_o3,area_grid,area_tag) obs_cut_o3 = obs_o3[cut_test_o3,:] geoschem_cut_o3 = geoschem_o3[:,cut_test_o3] n_sites_o3 = obs_cut_o3.shape[0] print 'nsites = ',n_sites_o3 if n_sites_o3 > 0: for m in range(len(dates_year)): obs_area_year = [] geoschem_area_year = [] print dates_year[m] obs_s = np.where(obs_date ==int(dates_year[m]))[0]