Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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)