def daves_curtain(file, img_file, section, varname, clim=None): if varname == 'U': daves_U_curtain(file, img_file, section, varname, clim) else: x = utils.get_daves_section_var(section=section, var='lon') y = utils.get_daves_section_var(section=section, var='lat') (data, coords) = rompy.extract(file, varname=varname, extraction_type='profile', x=x, y=y) title = '%s %s %s %s %s' % ( extract_utils.run_title(file), os.path.basename(file), section, var_title_map[var], extract_utils.file_time(file).strftime(title_time_fmt)) plot_utils.plot_parker( coords=coords, data=data, filename=img_file, title=title, x_axis_offset=utils.offset_region(coords), clim=clim, cmap='banas_hsv_cm', labeled_contour_gap=2, caxis_label=clabel_map[varname], inset=inset_dict[section], ctd_ind=ctd_ind_dict[section], label=utils.get_daves_section_var(section=section, var='label'), label_ind=utils.get_daves_section_var(section=section, var='label_ind')) return
def daves_curtain(file,img_file,section,varname,clim=None): if varname == 'U': daves_U_curtain(file,img_file,section,varname,clim) else: x = utils.get_daves_section_var(section=section,var='lon') y = utils.get_daves_section_var(section=section,var='lat') (data, coords) = rompy.extract(file, varname=varname, extraction_type='profile', x=x, y=y) title = '%s %s %s %s %s' % (extract_utils.run_title(file), os.path.basename(file), section, var_title_map[var], extract_utils.file_time(file).strftime(title_time_fmt)) plot_utils.plot_parker( coords=coords, data=data, filename=img_file, title=title, x_axis_offset=utils.offset_region(coords), clim=clim, cmap='banas_hsv_cm', labeled_contour_gap=2, caxis_label=clabel_map[varname], inset=inset_dict[section], ctd_ind=ctd_ind_dict[section], label=utils.get_daves_section_var(section=section,var='label'), label_ind=utils.get_daves_section_var(section=section,var='label_ind') ) return
def daves_U_curtain(file,img_file,section,varname,clim): x = utils.get_daves_section_var(section=section,var='lon') y = utils.get_daves_section_var(section=section,var='lat') (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 %s %s %s' % (extract_utils.run_title(file), os.path.basename(file), section, var_title_map['U'], extract_utils.file_time(file).strftime(title_time_fmt)) plot_utils.plot_parker( coords=coords, data=data, filename=img_file, title=title, x_axis_offset=utils.offset_region(coords), clim=clim, cmap='red_blue', caxis_label=clabel_map[varname], inset=inset_dict[section], ctd_ind=ctd_ind_dict[section], label=utils.get_daves_section_var(section=section,var='label'), label_ind=utils.get_daves_section_var(section=section,var='label_ind') ) return
def daves_U_curtain(file, img_file, section, varname, clim): x = utils.get_daves_section_var(section=section, var='lon') y = utils.get_daves_section_var(section=section, var='lat') (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 %s %s %s' % ( extract_utils.run_title(file), os.path.basename(file), section, var_title_map['U'], extract_utils.file_time(file).strftime(title_time_fmt)) plot_utils.plot_parker(coords=coords, data=data, filename=img_file, title=title, x_axis_offset=utils.offset_region(coords), clim=clim, cmap='red_blue', labeled_contour_gap=2, caxis_label=clabel_map[varname], inset=inset_dict[section], ctd_ind=ctd_ind_dict[section], label=utils.get_daves_section_var(section=section, var='label'), label_ind=utils.get_daves_section_var( section=section, var='label_ind')) return
var_title_map = {'salt': 'Salinity', 'temp': 'Temperature', 'U': 'Velocity'} title_time_fmt = '%Y-%m-%d %H:%M UTC' clims = {'salt': [0, 21, 33, 33], 'temp': [8, 20], 'U': [-2, 2]} clabel_map = {'temp': u'\u00B0 C', 'salt': 'psu', 'U': 'm/s'} inset_dict = { 'AI_HC': 'Puget Sound', 'AI_WB': 'Puget Sound', 'JdF_SoG': 'Strait of Georgia' } ctd_ind_dict = { 'AI_HC': utils.get_daves_section_var(section='AI_HC', var='PRISM_ctd_ind'), 'AI_WB': utils.get_daves_section_var(section='AI_WB', var='PRISM_ctd_ind'), 'JdF_SoG': utils.get_daves_section_var(section='JdF_SoG', var='IOS_ctd_ind') } ctd_ind_dict['JdF_SoG'].extend( utils.get_daves_section_var(section='JdF_SoG', var='JEMS_ctd_ind')) for file in file_list: ncf_index = os.path.basename(file)[:-3] print('%s' % ncf_index) if not os.path.exists(img_dir): os.makedirs(img_dir) for var in var_list: hood_img_file = '%s/%s_hood_%s.png' % (img_dir, ncf_index, var)
img_dir = options.img_dir var_list = ['salt','temp','U'] var_title_map = {'salt':'Salinity','temp':'Temperature','U':'Velocity'} title_time_fmt = '%Y-%m-%d %H:%M UTC' clims = {'salt':[0, 21,33, 33], 'temp': [8, 20], 'U':[-2,2]} clabel_map = {'temp': u'\u00B0 C', 'salt': 'psu', 'U': 'm/s'} inset_dict = {'AI_HC':'Puget Sound','AI_WB':'Puget Sound','JdF_SoG':'Strait of Georgia'} ctd_ind_dict = { 'AI_HC':utils.get_daves_section_var(section='AI_HC',var='PRISM_ctd_ind'), 'AI_WB':utils.get_daves_section_var(section='AI_WB',var='PRISM_ctd_ind'), 'JdF_SoG':utils.get_daves_section_var(section='JdF_SoG',var='IOS_ctd_ind') } ctd_ind_dict['JdF_SoG'].extend(utils.get_daves_section_var(section='JdF_SoG',var='JEMS_ctd_ind')) for file in file_list: ncf_index = os.path.basename(file)[:-3] print('%s' %ncf_index) if not os.path.exists(img_dir): os.makedirs(img_dir) for var in var_list: hood_img_file = '%s/%s_hood_%s.png' %(img_dir, ncf_index,var) main_img_file = '%s/%s_main_%s.png' %(img_dir, ncf_index,var) surface_img_file = '%s/%s_surface_%s.png' % (img_dir, ncf_index, var)