def plot_spectrum(ao_name, fname, opts = {}):
    fontsize0 = 20
    mpl.rc('xtick', labelsize=fontsize0) 
    mpl.rc('ytick', labelsize=fontsize0) 
    
    ao = additional_output.ao_dct(ao_name)

    recalc = {}
    recalc['spectrum_velocity_center'] = np.repeat( [np.linspace(-15.,15., 500)], len(ao['azel_r1_m']), axis=0)
    d = recalc['spectrum_velocity_center'][0,1] - recalc['spectrum_velocity_center'][0,0]
    recalc['spectrum_velocity_ubound'] = recalc['spectrum_velocity_center'] + d/2.
    recalc['spectrum_velocity_lbound'] = recalc['spectrum_velocity_center'] - d/2.
    
    recalc = calc_hr_spectrum.ao_to_recalc(ao, recalc)
    calc_hr_spectrum.smooth_spectra(recalc)


    for plot in [
        'Doppler_spectrum_dBZ_hh',
        'Doppler_spectrum_dBZ_hv',
        'Doppler_spectrum_dBZ_vh',
        'Doppler_spectrum_dBZ_vv',
        'specific_dBZdr',
        'specific_dBLdr',
        'specific_rho_co',
        'specific_rho_cxh',
        'specific_rho_cxv',
         ]:

        if plot in recalc.keys():
            fig = plt.figure(figsize=(5,5))
            ax=plt.subplot(111)
                     
            if ('title' in opts.keys()):
                ax.set_title(opts['title'])
            
            z = recalc[plot][0]
            z = np.where(z == calc_hr_spectrum._FillValueminINF, np.nan, z)
            
            ax.plot(recalc['spectrum_velocity_center'][0,:], z, linewidth=2)

            ax.set_xlabel("Doppler velocity [m/s]") 
            ax.set_ylabel('[dB]')

                
            ax.set_xbound(-5., 5.)

                                                 

            
            plt.tight_layout()


            plt.savefig(fname + '_'+plot+'.png')
            plt.close(fig)
Ejemplo n.º 2
0
def plot_spectrum(ao_name, fname, opts={}):
    fontsize0 = 20
    mpl.rc('xtick', labelsize=fontsize0)
    mpl.rc('ytick', labelsize=fontsize0)

    ao = additional_output.ao_dct(ao_name)

    recalc = {}
    recalc['spectrum_velocity_center'] = np.repeat(
        [np.linspace(-15., 15., 500)], len(ao['azel_r1_m']), axis=0)
    d = recalc['spectrum_velocity_center'][
        0, 1] - recalc['spectrum_velocity_center'][0, 0]
    recalc['spectrum_velocity_ubound'] = recalc[
        'spectrum_velocity_center'] + d / 2.
    recalc['spectrum_velocity_lbound'] = recalc[
        'spectrum_velocity_center'] - d / 2.

    recalc = calc_hr_spectrum.ao_to_recalc(ao, recalc)
    calc_hr_spectrum.smooth_spectra(recalc)

    for plot in [
            'Doppler_spectrum_dBZ_hh',
            'Doppler_spectrum_dBZ_hv',
            'Doppler_spectrum_dBZ_vh',
            'Doppler_spectrum_dBZ_vv',
            'specific_dBZdr',
            'specific_dBLdr',
            'specific_rho_co',
            'specific_rho_cxh',
            'specific_rho_cxv',
    ]:

        if plot in recalc.keys():
            fig = plt.figure(figsize=(5, 5))
            ax = plt.subplot(111)

            if ('title' in opts.keys()):
                ax.set_title(opts['title'])

            z = recalc[plot][0]
            z = np.where(z == calc_hr_spectrum._FillValueminINF, np.nan, z)

            ax.plot(recalc['spectrum_velocity_center'][0, :], z, linewidth=2)

            ax.set_xlabel("Doppler velocity [m/s]")
            ax.set_ylabel('[dB]')

            ax.set_xbound(-5., 5.)

            plt.tight_layout()

            plt.savefig(fname + '_' + plot + '.png')
            plt.close(fig)
Ejemplo n.º 3
0
def plot_spectogram(ao_name, fname, opts={}):
    fontsize0 = 20
    mpl.rc('xtick', labelsize=fontsize0)
    mpl.rc('ytick', labelsize=fontsize0)

    ao = additional_output.ao_dct(ao_name)

    recalc = {}
    recalc['spectrum_velocity_center'] = np.repeat(
        [np.linspace(-15., 15., 1000)], len(ao['azel_r1_m']), axis=0)
    recalc = calc_hr_spectrum.ao_to_recalc(ao, recalc)

    for plot in [
            'Doppler_spectrum_dBZ_hh',
            'Doppler_spectrum_dBZ_hv',
            'Doppler_spectrum_dBZ_vh',
            'Doppler_spectrum_dBZ_vv',
            'specific_dBZdr',
            'specific_dBLdr',
            'specific_rho_co',
            'specific_rho_cxh',
            'specific_rho_cxv',
    ]:

        if plot in recalc.keys():
            fig = plt.figure(figsize=(5, 5))
            ax = plt.subplot(111)

            #plt_cmap = plt.cm.jet
            plt_cmap = plt.cm.get_cmap("jet", 100)

            plt_cmap.set_over('Black')
            plt_cmap.set_under('LightGray')
            plt_cmap.set_bad('0.')

            if ('title' in opts.keys()):
                ax.set_title(opts['title'])

            z = recalc[plot]
            z = np.where(z == calc_hr_spectrum._FillValueminINF, np.nan, z)

            vmin = np.nanmin(z)
            vmax = np.nanmax(z)
            if plot in opts.keys():
                if 'vmin' in opts[plot].keys():
                    vmin = opts[plot]['vmin']
                    #z = np.where(z < vmin, np.nan, z)

                if 'vmax' in opts[plot].keys():
                    vmax = opts[plot]['vmax']
                    #z = np.where(z > vmax, np.nan, z)

            bounds = np.linspace(vmin, vmax, 101)
            #norm = mpl.colors.BoundaryNorm(bounds, plt_cmap.N)

            #~ if plot in [
            #~ 'Doppler_spectrum_dBZ_hh',
            #~ 'Doppler_spectrum_dBZ_hv',
            #~ 'Doppler_spectrum_dBZ_vh',
            #~ 'Doppler_spectrum_dBZ_vv',
            #~ ]:
            #~ for i in range(z.shape[0]):
            #~ z[i,:] = np.where(z[i,:] < (np.nanmax(z[i,:]) - 20.), np.nan, z[i,:])

            nspectrum = z.shape[1]

            ranges = np.repeat(ao['azel_r1_m'], nspectrum).reshape(z.shape)
            heights = np.repeat(ao['center_z'], nspectrum).reshape(z.shape)

            CF = ax.contourf(recalc['spectrum_velocity_center'],
                             1.e-3 * heights,
                             z,
                             bounds,
                             cmap=plt_cmap,
                             vmin=vmin,
                             vmax=vmax,
                             extend='both')

            ax.set_xbound(-5., 5.)
            ax.set_xlabel("Doppler velocity [m/s]")
            ax.set_ylabel("height [km]")

            cb = plt.colorbar(
                CF,
                shrink=0.7,
                #ticks=bounds,
                spacing='uniform',
            )

            #cb.set_clim(vmin-10.,vmax+10.)

            plt.tight_layout()

            plt.savefig(fname + '_' + plot + '.png')
            plt.close(fig)
def plot_spectogram(ao_name, fname, opts = {}):
    fontsize0 = 20
    mpl.rc('xtick', labelsize=fontsize0) 
    mpl.rc('ytick', labelsize=fontsize0) 
    
    
    ao = additional_output.ao_dct(ao_name)

    recalc = {}
    recalc['spectrum_velocity_center'] = np.repeat( [np.linspace(-15.,15., 1000)], len(ao['azel_r1_m']), axis=0)
    recalc = calc_hr_spectrum.ao_to_recalc(ao, recalc)

    for plot in [
        'Doppler_spectrum_dBZ_hh',
        'Doppler_spectrum_dBZ_hv',
        'Doppler_spectrum_dBZ_vh',
        'Doppler_spectrum_dBZ_vv',
        'specific_dBZdr',
        'specific_dBLdr',
        'specific_rho_co',
        'specific_rho_cxh',
        'specific_rho_cxv',
         ]:

        if plot in recalc.keys():
            fig = plt.figure(figsize=(5,5))
            ax=plt.subplot(111)

            #plt_cmap = plt.cm.jet
            plt_cmap = plt.cm.get_cmap("jet", 100)

            plt_cmap.set_over('Black')
            plt_cmap.set_under('LightGray')
            plt_cmap.set_bad('0.')
                         
            if ('title' in opts.keys()):
                ax.set_title(opts['title'])
            
            z = recalc[plot]
            z = np.where(z == calc_hr_spectrum._FillValueminINF, np.nan, z)

            vmin = np.nanmin(z); vmax = np.nanmax(z)
            if plot in opts.keys():
                if 'vmin' in opts[plot].keys():
                    vmin = opts[plot]['vmin']
                    #z = np.where(z < vmin, np.nan, z)
                    
                if 'vmax' in opts[plot].keys():
                    vmax = opts[plot]['vmax']
                    #z = np.where(z > vmax, np.nan, z)
            
            bounds = np.linspace(vmin, vmax,101)
            #norm = mpl.colors.BoundaryNorm(bounds, plt_cmap.N)

            #~ if plot in [
            #~ 'Doppler_spectrum_dBZ_hh',
            #~ 'Doppler_spectrum_dBZ_hv',
            #~ 'Doppler_spectrum_dBZ_vh',
            #~ 'Doppler_spectrum_dBZ_vv',
                #~ ]:
                #~ for i in range(z.shape[0]):
                    #~ z[i,:] = np.where(z[i,:] < (np.nanmax(z[i,:]) - 20.), np.nan, z[i,:])
            
            nspectrum = z.shape[1]
                

            ranges = np.repeat(ao['azel_r1_m'] , nspectrum).reshape( z.shape)
            heights = np.repeat(ao['center_z'] , nspectrum).reshape( z.shape)

            CF = ax.contourf(
                recalc['spectrum_velocity_center'],
                1.e-3 * heights,
                z, 
                bounds,
                cmap=plt_cmap,
                vmin=vmin,
                vmax=vmax,
                extend='both')
                

                
            ax.set_xbound(-5., 5.)
            ax.set_xlabel("Doppler velocity [m/s]") 
            ax.set_ylabel("height [km]") 



            cb = plt.colorbar(  CF,
                                shrink=0.7,
                                #ticks=bounds,
                                spacing='uniform',
            )
            
                                                 

            #cb.set_clim(vmin-10.,vmax+10.)
            
            plt.tight_layout()


            plt.savefig(fname + '_'+plot+'.png')
            plt.close(fig)