def main_basin_curtain(file, img_file, varname, n=4, clim=None): # Main Basin if var == 'U': main_basin_U_curtain(file, img_file, n, clim) else: x, y = utils.high_res_main_basin_xy(n=n) (data, coords) = rompy.extract(file, varname=varname, extraction_type='profile', x=x, y=y) title = '%s %s Main Basin %s %s' % ( extract_utils.run_title(file), os.path.basename(file), var_title_map[var], extract_utils.file_time(file).strftime(title_time_fmt)) plot_utils.plot_parker(coords=coords, data=data, varname=varname, region='Main Basin', filename=img_file, n=n, x_axis_offset=utils.offset_region(coords), clim=clim, cmap='banas_hsv_cm', labeled_contour_gap=2, title=title, resolution=inset_coastline_resolution, caxis_label=clabel_map[varname])
def main_basin_curtain(file,img_file,varname,n=4,clim=None): # Main Basin if var == 'U': main_basin_U_curtain(file,img_file,n,clim) else: x,y = utils.high_res_main_basin_xy(n=n) (data, coords) = rompy.extract(file, varname=varname, extraction_type='profile', x=x, y=y) title = '%s %s Main Basin %s %s' % (extract_utils.run_title(file), os.path.basename(file), var_title_map[var], extract_utils.file_time(file).strftime(title_time_fmt)) plot_utils.plot_parker(coords=coords, data=data, varname=varname, region='Main Basin', filename=img_file, n=n, x_axis_offset=utils.offset_region(coords), clim=clim,cmap='banas_hsv_cm',labeled_contour_gap=2, title=title, resolution=inset_coastline_resolution, caxis_label=clabel_map[varname])
def main_basin_U_curtain(file, img_file, n=1, clim=None): # velocity in Main Basin x, y = utils.high_res_main_basin_xy(n=n) (u, coords) = rompy.extract(file, varname='u', extraction_type='profile', x=x, y=y) (v, coords) = rompy.extract(file, varname='v', extraction_type='profile', x=x, y=y) data = np.zeros(u.shape) for i in range(u.shape[1]): if i == u.shape[1] - 1: x_vec = np.array([x[i] - x[i - 1], y[i] - y[i - 1]]) else: x_vec = np.array([x[i + 1] - x[i], y[i + 1] - y[i]]) for j in range(u.shape[0]): u_vec = np.array([u[j, i], v[j, i]]) data[j, i] = np.dot(x_vec, u_vec) / (np.sqrt(np.dot(x_vec, x_vec))) data = np.ma.array(data, mask=np.abs(data) > 100) title = '%s %s Main Basin %s %s' % ( extract_utils.run_title(file), os.path.basename(file), var_title_map['U'], extract_utils.file_time(file).strftime(title_time_fmt)) plot_utils.plot_parker(coords=coords, data=data, varname='U', region=' Main Basin', filename=img_file, n=n, clim=clim, x_axis_offset=utils.offset_region(coords), cmap='red_blue', title=title, resolution=inset_coastline_resolution, caxis_label=clabel_map['U'])
def main_basin_U_curtain(file,img_file,n=1,clim=None): # velocity in Main Basin x,y = utils.high_res_main_basin_xy(n=n) (u, coords) = rompy.extract(file,varname='u',extraction_type='profile',x=x,y=y) (v, coords) = rompy.extract(file,varname='v',extraction_type='profile',x=x,y=y) data = np.zeros(u.shape) for i in range(u.shape[1]): if i == u.shape[1]-1: x_vec = np.array([x[i] - x[i-1], y[i] - y[i-1]]) else: x_vec = np.array([x[i+1] - x[i], y[i+1] - y[i]]) for j in range(u.shape[0]): u_vec = np.array([u[j,i], v[j,i]]) data[j,i] = np.dot(x_vec,u_vec)/(np.sqrt(np.dot(x_vec,x_vec))) data = np.ma.array(data, mask=np.abs(data) > 100) title = '%s %s Main Basin %s %s' % (extract_utils.run_title(file), os.path.basename(file), var_title_map['U'], extract_utils.file_time(file).strftime(title_time_fmt)) plot_utils.plot_parker(coords=coords,data=data,varname='U', region=' Main Basin', filename=img_file, n=n, clim=clim, x_axis_offset=utils.offset_region(coords),cmap='red_blue', title=title, resolution=inset_coastline_resolution, caxis_label=clabel_map['U'])
coords['zm'][0, :], ax.get_ylim()[0], color='grey') fig.colorbar(my_plot, ax=ax) ax.set_title('Main Basin Salinity from a ROMS run') ax.set_ylabel('depth in meters') ax.set_xticks(np.arange(data.shape[1])) ax.set_xticklabels(utils.main_basin_station_list()) ax.set_xlabel('station ID') FigureCanvas(fig).print_png('/Users/lederer/tmp/rompy.map6.png') if map7: # Main Basin print('map7') n = 10 x, y = utils.high_res_main_basin_xy(n=n) # Salinity (data, coords) = rompy.extract('ocean_his_0001.nc', varname='salt', extraction_type='profile', x=x, y=y) plot_utils.plot_mickett( coords=coords, data=data, varname='Salinity', region='Main Basin', filename='/Users/lederer/tmp/rompy.mickett_main_salt.png', n=n,
my_plot = ax.contourf(np.tile(np.arange(data.shape[1]),(coords['zm'].shape[0],1)),coords['zm'],data,100) my_plot2 = ax.contour(np.tile(np.arange(data.shape[1]),(coords['zm'].shape[0],1)),coords['zm'],data,100,linewidths=1,linestyle=None) ax.fill_between(np.arange(data.shape[1]),coords['zm'][0,:],ax.get_ylim()[0],color='grey') fig.colorbar(my_plot,ax=ax) ax.set_title('Main Basin Salinity from a ROMS run') ax.set_ylabel('depth in meters') ax.set_xticks(np.arange(data.shape[1])) ax.set_xticklabels(utils.main_basin_station_list()) ax.set_xlabel('station ID') FigureCanvas(fig).print_png('/Users/lederer/tmp/rompy.map6.png') if map7: # Main Basin print('map7') n = 10 x,y = utils.high_res_main_basin_xy(n=n) # Salinity (data, coords) = rompy.extract('ocean_his_0001.nc', varname='salt', extraction_type='profile', x=x, y=y) plot_utils.plot_mickett(coords=coords, data=data, varname='Salinity', region='Main Basin', filename='/Users/lederer/tmp/rompy.mickett_main_salt.png', n=n, x_axis_offset=utils.offset_region(coords), clim=[0,20,32,32], cmap='banas_hsv_cm', labeled_contour_gap=2) # Temperature (data, coords) = rompy.extract('ocean_his_0001.nc',varname='temp',extraction_type='profile',x=x,y=y) plot_utils.plot_mickett(coords=coords, data=data, varname='Temperature', region='Main Basin', filename='/Users/lederer/tmp/rompy.mickett_main_temp.png', n=n, x_axis_offset=utils.offset_region(coords), clim=[0,20], cmap='banas_hsv_cm', labeled_contour_gap=2) if map8: # Hood Canal print('map8') n=10 x,y = utils.high_res_hood_canal_xy(n=n)