예제 #1
0
def plot_all():
    ax1 = fig.add_subplot(231, aspect='equal')
    plt.pcolormesh(x,
                   y,
                   rwdata,
                   cmap=get_miub_cmap(),
                   vmin=0.1,
                   vmax=50,
                   zorder=2)
    cb = plt.colorbar(shrink=0.5)
    cb.set_label("Ref (dbz)", fontsize=ff)
    #cb.set_label("Rainrate (mm/h)",fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plot_borders(ax1)
    plt.title('RADOLAN Ref: \n' + '20' + str(pfad_radolan[-20:-18]) + '-' +
              str(pfad_radolan[-18:-16]) + '-' + str(pfad_radolan[-16:-14]) +
              ' T: ' + str(pfad_radolan[-14:-10]) + '00 UTC',
              fontsize=ff)  #RW Product Polar Stereo

    plt.xlabel("x [km] ", fontsize=ff)
    plt.ylabel("y [km]  ", fontsize=ff)
    plt.grid(color='r')
    plt.xlim(-420, 390)
    plt.ylim(-4700, -3700)

    ax2 = fig.add_subplot(232, aspect='equal')
    pm2 = plt.pcolormesh(gprof_x,
                         gprof_y,
                         np.ma.masked_invalid(gprof_pp[latstart:latend]),
                         cmap=my_cmap,
                         vmin=0.1,
                         vmax=10,
                         zorder=2)

    cb = plt.colorbar(shrink=0.5)
    cb.set_label("Rainrate (mm/h)", fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plt.xlabel("x [km] ", fontsize=ff)
    plt.ylabel("y [km]  ", fontsize=ff)
    plt.title('GPM GPROF Rainrate: \n' + str(pfad_gprof_g[66:70]) + '-' +
              str(pfad_gprof_g[70:72]) + '-' + str(pfad_gprof_g[72:74]) +
              ' T: ' + str(pfad_gprof_g[76:82]) + '-' +
              str(pfad_gprof_g[84:90]) + ' UTC',
              fontsize=ff)
    plot_borders(ax2)
    plt.xticks(fontsize=ff)
    plt.yticks(fontsize=ff)
    plt.grid(color='r')
    plt.tight_layout()
    ax2.set_xlim(ax1.get_xlim())
    ax2.set_ylim(ax1.get_ylim())

    ax37 = fig.add_subplot(233, aspect='equal')
    plt.pcolormesh(dpr_x,
                   dpr_y,
                   np.ma.masked_invalid(dpr_pp[latstartd:latendd]),
                   cmap=my_cmap,
                   vmin=0.1,
                   vmax=10,
                   zorder=2)

    cb = plt.colorbar(shrink=0.5)
    cb.set_label("Rainrate (mm/h)", fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plt.xlabel("x [km] ", fontsize=ff)
    plt.ylabel("y [km]  ", fontsize=ff)
    plt.title('GPM DPR Rainrate: \n' + str(pfad_gprof_g[66:70]) + '-' +
              str(pfad_gprof_g[70:72]) + '-' + str(pfad_gprof_g[72:74]) +
              ' T: ' + str(pfad_gprof_g[76:82]) + '-' +
              str(pfad_gprof_g[84:90]) + ' UTC',
              fontsize=ff)
    plot_borders(ax37)
    plt.xticks(fontsize=ff)
    plt.yticks(fontsize=ff)
    plt.grid(color='r')
    ax37.set_xlim(ax1.get_xlim())
    ax37.set_ylim(ax1.get_ylim())

    ##################################
    ax29 = fig.add_subplot(234, aspect='equal')
    #pm2 = plt.pcolormesh(gprof_x, gprof_y,np.ma.masked_invalid(gprof_pp[latstart:latend]),
    #                     cmap=my_cmap,vmin=0.1,vmax=10, zorder=2)
    pm2 = plt.pcolormesh(gprof_x,
                         gprof_y,
                         np.ma.masked_invalid(gprof_snow[latstart:latend]),
                         cmap=get_miub_cmap(),
                         vmin=0,
                         vmax=5,
                         zorder=1)

    cb = plt.colorbar(shrink=0.5)
    cb.set_label("SnowCoverIndex ", fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plt.xlabel("x [km] ", fontsize=ff)
    plt.ylabel("y [km]  ", fontsize=ff)
    plt.title('GPM GPROF SnowCoverIndex: \n' + str(pfad_gprof_g[66:70]) + '-' +
              str(pfad_gprof_g[70:72]) + '-' + str(pfad_gprof_g[72:74]) +
              ' T: ' + str(pfad_gprof_g[76:82]) + '-' +
              str(pfad_gprof_g[84:90]) + ' UTC',
              fontsize=ff)
    plot_borders(ax29)
    plt.xticks(fontsize=ff)
    plt.yticks(fontsize=ff)
    plt.grid(color='r')
    #plt.tight_layout()
    ax29.set_xlim(ax1.get_xlim())
    ax29.set_ylim(ax1.get_ylim())

    from pcc import get_2_cmap
    ax28 = fig.add_subplot(235, aspect='equal')
    pm2 = plt.pcolormesh(gprof_x,
                         gprof_y,
                         np.ma.masked_invalid(gprof_l[latstart:latend]),
                         cmap=get_2_cmap(),
                         vmin=0,
                         vmax=1,
                         zorder=1)

    cb = plt.colorbar(shrink=0.5)
    cb.set_label("LiquidWaterFraction", fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plt.xlabel("x [km] ", fontsize=ff)
    plt.ylabel("y [km]  ", fontsize=ff)
    plt.title('GPM GPROF LiquidWaterFraction: \n' + str(pfad_gprof_g[66:70]) +
              '-' + str(pfad_gprof_g[70:72]) + '-' + str(pfad_gprof_g[72:74]) +
              ' T: ' + str(pfad_gprof_g[76:82]) + '-' +
              str(pfad_gprof_g[84:90]) + ' UTC',
              fontsize=ff)
    plot_borders(ax28)
    plt.xticks(fontsize=ff)
    plt.yticks(fontsize=ff)
    plt.grid(color='r')
    #plt.tight_layout()
    ax28.set_xlim(ax1.get_xlim())
    ax28.set_ylim(ax1.get_ylim())
예제 #2
0
파일: pcc__dpr.py 프로젝트: vecoveco/gpm
maske = ~np.isnan(hhh) & ~np.isnan(ppp)


#cut1, cut2 = 24, 3254

fig = plt.figure(figsize=(14,12))
#zzz = str(jahr)+'-'+str(monat)+'-'+str(tag)+'--'+str(stunde)+':'+str(minute)+' UTC'
#fig.suptitle(zzz + ' UTC')

###################
ax1 = fig.add_subplot(221, aspect='auto')
#plt.subplot(2,2,1)
plt.pcolormesh(dpr_lon, dpr_lat,np.ma.masked_invalid(dpr_pp_surf), vmin=0, vmax=50, cmap=get_miub_cmap())
cbar = plt.colorbar()
cbar.set_label('Ref. in dbz')
plot_borders(ax1)
plot_radar(blon, blat, ax1, reproject=True, cband=False,col='black')
plt.plot(dpr_lon[:,0],dpr_lat[:,0], color='black',lw=1)
plt.plot(dpr_lon[:,-1],dpr_lat[:,-1], color='black',lw=1)
plt.plot(dpr_lon[:,dpr_lon.shape[1]/2],dpr_lat[:,dpr_lon.shape[1]/2], color='black',lw=1, ls='--')
plt.plot(dpr_lon[:,cut1],dpr_lat[:,cut1], color='red',lw=2,ls='--')
plt.plot(dpr_lon[cut2,:],dpr_lat[cut2,:], color='green',lw=2,ls='--')


ax1 = plt.scatter(bonnlon, bonnlat, c=50 ,s=50, color='red')


plt.grid()
plt.xlim(-350,-100)
plt.ylim( -4350,-4100)
예제 #3
0
    #ax3 = plt.subplot(3,3,jj+1)
    plot_all()

    ax35 = plt.subplot(236, aspect='equal')
    TT = T_pp[:, :, jj][latstart:latend]
    plt.pcolormesh(
        T_x,
        T_y,
        np.ma.masked_invalid(TT),
        cmap='jet',  #,vmin = mini, vmax = maxi)
        vmin=np.nanpercentile(TT, qmin),
        vmax=np.nanpercentile(TT, qmax))
    cb = plt.colorbar(shrink=0.5)
    cb.set_label("Tb (K)", fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plot_borders(ax35)
    plt.xlabel("x [km] ", fontsize=ff)
    plt.ylabel("y [km]  ", fontsize=ff)
    plt.xlim(-420, 390)
    plt.ylim(-4700, -3700)
    plt.title(str(S1[jj]))
    plt.tight_layout()
    plt.savefig("/home/velibor/shkgpm/plot/T/Tb_" + str(jj)[0:5] + ".png")
    plt.close()
#plt.show()

for jj in range(4):
    ff = 15
    fig = plt.figure(figsize=(20, 20))
    plot_all()
    ax34 = plt.subplot(236, aspect='equal')
예제 #4
0
#####____________________AX1____________________#####
ax2 = fig.add_subplot(232, aspect='auto')
pm2 = plt.pcolormesh(gpm_x, gpm_y,np.ma.masked_invalid(gprof_pp_b),
                     cmap=my_cmap2,
                     vmin=PV_vmin[ip],
                     vmax=PV_vmax[ip],
                     zorder=2)

plt.plot(gpm_x[:,cut],gpm_y[:,cut], color='red',lw=1)
cb = plt.colorbar(shrink=0.8,extend='max')
cb.set_label(PV_name[ip],fontsize=fft)
cb.ax.tick_params(labelsize=fft)
#plt.xlabel("x [km] ",fontsize=0)
#plt.ylabel("y [km]  ",fontsize=0)
plt.title('GPM DPR: '+ gpm_time ,fontsize=fft)
plot_borders(ax2)
plot_radar(boxlon, boxlat, ax2, reproject=True)
plt.grid(color='r')
plt.tight_layout()
plt.xlim(-420,390)
plt.ylim(-4700, -3700)
#plt.xticks(fontsize=0)
#plt.yticks(fontsize=0)
plt.tick_params(
    axis='both',
    which='both',
    bottom='off',
    top='off',
    labelbottom='off',
    right='off',
    left='off',
예제 #5
0
        pm1 = plt.pcolormesh(x,
                             y,
                             rwdata,
                             cmap=my_cmap,
                             vmin=0.01,
                             vmax=50,
                             zorder=2)

        plt.plot(gpm_x[:, 0], gpm_y[:, 0], color='black', lw=1)
        plt.plot(gpm_x[:, -1], gpm_y[:, -1], color='black', lw=1)
        cb = plt.colorbar(shrink=cc)
        cb.set_label("Reflectivity [dBZ]", fontsize=ff)
        cb.ax.tick_params(labelsize=ff)

        plot_borders(ax1)
        plot_radar(bonnlon,
                   bonnlat,
                   ax1,
                   reproject=True,
                   cband=False,
                   col='black')

        plt.title('RADOLAN Reflectivity : \n' + radolan_zeit + ' UTC',
                  fontsize=ff)
        plt.grid(color='r')
        plt.tick_params(axis='both',
                        which='both',
                        bottom='off',
                        top='off',
                        labelbottom='off',
예제 #6
0
파일: pcc_gpm_T.py 프로젝트: vecoveco/gpm

for jj in range(9):
    ff = 15
    fig = plt.figure(figsize=(20,20))
    #ax3 = plt.subplot(3,3,jj+1)
    plot_all()

    ax35 = plt.subplot(236, aspect='equal')
    TT = T_pp[:,:,jj][latstart:latend]
    plt.pcolormesh(T_x, T_y, np.ma.masked_invalid(TT), cmap='jet',#,vmin = mini, vmax = maxi)
                   vmin=np.nanpercentile(TT,qmin), vmax=np.nanpercentile(TT,qmax))
    cb = plt.colorbar(shrink=0.5)
    cb.set_label("Tb (K)",fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plot_borders(ax35)
    plt.xlabel("x [km] ",fontsize=ff)
    plt.ylabel("y [km]  ",fontsize=ff)
    plt.xlim(-420,390)
    plt.ylim(-4700, -3700)
    plt.title(str(S1[jj]))
    plt.tight_layout()
    plt.savefig("/home/velibor/shkgpm/plot/T/Tb_"+ str(jj)[0:5] +".png")
    plt.close()
#plt.show()




for jj in range(4):
    ff = 15
예제 #7
0
파일: pcc_dpr_bb2.py 프로젝트: vecoveco/gpm
# Radarausschnitt
dpr_pp_surf[np.where(r > radius)]=np.nan


fig = plt.figure(figsize=(12,10))
zzz = str(jahr)+'-'+str(monat)+'-'+str(tag)+'--'+str(stunde)+':'+str(minute)+' UTC'
fig.suptitle(zzz + ' UTC')

###################
ax1 = fig.add_subplot(221, aspect='auto')
#plt.subplot(2,2,1)
plt.pcolormesh(dpr_lon, dpr_lat,np.ma.masked_invalid(dpr_pp_surf), vmin=np.nanmin(pp_surf), vmax=np.nanmax(pp_surf), cmap=get_miub_cmap())
cbar = plt.colorbar()
cbar.set_label('Ref. in dbz')
plot_borders(ax1)
plot_radar(bonnlon, bonnlat, ax1, reproject=False, cband=False,col='black')

#ax1 = plt.scatter(lon_ppi, lat_ppi, c=50 ,s=50, color='red')

plt.scatter(k1,l1, c=50 ,s=50, color='red')
plt.scatter(k2,l1, c=50 ,s=50, color='red')
plt.scatter(k1,l2, c=50 ,s=50, color='red')
plt.scatter(k2,l2, c=50 ,s=50, color='red')

plt.grid()
plt.xlim(-420,390)
plt.ylim(-4700, -3700)

##################
ax2 = fig.add_subplot(222, aspect='auto')
예제 #8
0
fig = plt.figure(figsize=(14, 12))
#zzz = str(jahr)+'-'+str(monat)+'-'+str(tag)+'--'+str(stunde)+':'+str(minute)+' UTC'
#fig.suptitle(zzz + ' UTC')

###################
ax1 = fig.add_subplot(221, aspect='auto')
#plt.subplot(2,2,1)
plt.pcolormesh(dpr_lon,
               dpr_lat,
               np.ma.masked_invalid(dpr_pp_surf),
               vmin=0,
               vmax=50,
               cmap=get_miub_cmap())
cbar = plt.colorbar()
cbar.set_label('Ref. in dbz')
plot_borders(ax1)
plot_radar(blon, blat, ax1, reproject=True, cband=False, col='black')
plt.plot(dpr_lon[:, 0], dpr_lat[:, 0], color='black', lw=1)
plt.plot(dpr_lon[:, -1], dpr_lat[:, -1], color='black', lw=1)
plt.plot(dpr_lon[:, dpr_lon.shape[1] / 2],
         dpr_lat[:, dpr_lon.shape[1] / 2],
         color='black',
         lw=1,
         ls='--')
plt.plot(dpr_lon[:, cut1], dpr_lat[:, cut1], color='red', lw=2, ls='--')
plt.plot(dpr_lon[cut2, :], dpr_lat[cut2, :], color='green', lw=2, ls='--')

ax1 = plt.scatter(bonnlon, bonnlat, c=50, s=50, color='red')

plt.grid()
plt.xlim(-350, -100)
예제 #9
0
cc = 0.5
fig = plt.figure(figsize=(16,16))


ax2 = fig.add_subplot(331, aspect='equal')#------------------------------------

pm2 = plt.pcolormesh(gpm_x, gpm_y,np.ma.masked_invalid(rrr_lin),
                     cmap=my_cmap, vmin=0.01, vmax=50,zorder=2)
plt.plot(gpm_x[:,0],gpm_y[:,0], color='black',lw=1)
plt.plot(gpm_x[:,-1],gpm_y[:,-1], color='black',lw=1)
cb = plt.colorbar(shrink=cc)
cb.set_label("Reflectivity [dBZ]",fontsize=ff)
cb.ax.tick_params(labelsize=ff)

plt.title('RADOLAN Interpoliert Linear: \n'+ radolan_zeit + ' UTC',fontsize=ff) #RW Product Polar Stereo
plot_borders(ax2)
plot_radar(bonnlon, bonnlat, ax2, reproject=True)
plt.grid(color='r')
plt.tick_params(
    axis='both',
    which='both',
    bottom='off',
    top='off',
    labelbottom='off',
    right='off',
    left='off',
    labelleft='off')
plt.xlim(-420,390)
plt.ylim(-4700, -3700)

예제 #10
0
파일: exampel.py 프로젝트: vecoveco/gpm
ax1 = fig.add_subplot(2,3,1, aspect='equal')
pm1 = plt.pcolormesh(sf_ku_x, sf_ku_y,np.ma.masked_invalid(sf_ku_z),
                     cmap=my_cmap2,
                     vmin=0,
                     vmax=50
                     )
plt.plot(ka_x[:,0],ka_y[:,0], color='gray',lw=1)
plt.plot(ka_x[:,-1],ka_y[:,-1], color='gray',lw=1)
plt.plot(ku_x[:,0],ku_y[:,0], color='gray',lw=1)
plt.plot(ku_x[:,-1],ku_y[:,-1], color='gray',lw=1)

cb = plt.colorbar(shrink=0.5,extend='max')
cb.set_label(cbname,fontsize=fft)
cb.ax.tick_params(labelsize=fft)
plt.title('GPM SF NS: \n'+ gpm_time ,fontsize=fft)
plot_borders(ax1)
plot_radar(boxlon, boxlat, ax1, reproject=True)
plt.grid(color='r')
plt.tight_layout()
plt.xlim(-420,390)
plt.ylim(-4700, -3700)
plt.tick_params(
    axis='both',
    which='both',
    bottom='off',
    top='off',
    labelbottom='off',
    right='off',
    left='off',
    labelleft='off')
#plt.ylim(-4400,-4100)
예제 #11
0
                     ku_y,
                     np.ma.masked_invalid(ku_pp),
                     cmap=my_cmap,
                     vmin=0.1,
                     vmax=10)
plt.plot(ka_x[:, 0], ka_y[:, 0], color='red', lw=1)
plt.plot(ka_x[:, -1], ka_y[:, -1], color='red', lw=1)

plt.plot(kaku_x[:, 0], kaku_y[:, 0], color='red', lw=1)
plt.plot(kaku_x[:, -1], kaku_y[:, -1], color='red', lw=1)

cb = plt.colorbar(shrink=0.5, extend='max')
cb.set_label(cbname, fontsize=fft)
cb.ax.tick_params(labelsize=fft)
plt.title('GPM DPR Ku: \n' + gpm_time, fontsize=fft)
plot_borders(ax1)
plot_radar(boxlon, boxlat, ax1, reproject=True)
plt.grid(color='r')
plt.tight_layout()
plt.xlim(-420, 390)
plt.ylim(-4700, -3700)
plt.tick_params(axis='both',
                which='both',
                bottom='off',
                top='off',
                labelbottom='off',
                right='off',
                left='off',
                labelleft='off')
#plt.ylim(-4400,-4100)
#plt.xlim(-350,-80)
예제 #12
0
from pcc import get_my_cmap
import pcc
from scipy import stats, linspace


ff = 15
cc = 0.5
fig = plt.figure(figsize=(12,12))
ax1 = fig.add_subplot(221, aspect='equal')#------------------------------------

pm1 = plt.pcolormesh(x, y, z, cmap=get_my_cmap(), vmin=0.01, vmax=50, zorder=2)
cb = plt.colorbar(shrink=cc)
cb.set_label("Reflectivity [dBZ]",fontsize=ff)
cb.ax.tick_params(labelsize=ff)

pcc.plot_borders(ax1)

plt.title('RADOLAN Reflectivity:\n '+ t1+' UTC',fontsize=ff)
plt.grid(color='r')
plt.tick_params(
    axis='both',
    which='both',
    bottom='off',
    top='off',
    labelbottom='off',
    right='off',
    left='off',
    labelleft='off')
plt.xlim(-400,450)
plt.ylim(-4700, -3700)
예제 #13
0
pm2 = plt.pcolormesh(gpm_x,
                     gpm_y,
                     np.ma.masked_invalid(rrr_lin),
                     cmap=my_cmap,
                     vmin=0.01,
                     vmax=50,
                     zorder=2)
plt.plot(gpm_x[:, 0], gpm_y[:, 0], color='black', lw=1)
plt.plot(gpm_x[:, -1], gpm_y[:, -1], color='black', lw=1)
cb = plt.colorbar(shrink=cc)
cb.set_label("Reflectivity [dBZ]", fontsize=ff)
cb.ax.tick_params(labelsize=ff)

plt.title('RADOLAN Interpoliert Linear: \n' + radolan_zeit + ' UTC',
          fontsize=ff)  #RW Product Polar Stereo
plot_borders(ax2)
plot_radar(bonnlon, bonnlat, ax2, reproject=True)
plt.grid(color='r')
plt.tick_params(axis='both',
                which='both',
                bottom='off',
                top='off',
                labelbottom='off',
                right='off',
                left='off',
                labelleft='off')
plt.xlim(-420, 390)
plt.ylim(-4700, -3700)

ax3 = fig.add_subplot(332,
                      aspect='equal')  #------------------------------------
예제 #14
0
def gpm_bb(dates, pn=0):
    zt = dates

    pfad = ('/automount/ags/velibor/gpmdata/dpr/2A.GPM.DPR.V6-20160118.' + zt +
            '*.HDF5')
    dpr_pfad = sorted(glob.glob(pfad))[pn]

    print dpr_pfad

    scan = 'NS'  #or MS

    # Einlesen
    dpr = h5py.File(dpr_pfad, 'r')
    dpr_lat = np.array(dpr[scan]['Latitude'])
    dpr_lon = np.array(dpr[scan]['Longitude'])
    dpr_pp = np.array(dpr[scan]['SLV']['zFactorCorrected'])
    dpr_pp[dpr_pp < 0] = np.nan

    dpr_pp_surf = np.array(dpr[scan]['SLV']['zFactorCorrectedNearSurface'])
    dpr_pp_surf[dpr_pp_surf < 0] = np.nan

    dpr_bbh = np.array(dpr[scan]['CSF']['heightBB'], dtype=float)
    dpr_bbh[dpr_bbh < 0] = np.nan
    dpr_bbw = np.array(dpr[scan]['CSF']['widthBB'], dtype=float)
    dpr_bbw[dpr_bbw < 0] = np.nan

    dpr_time = dpr['NS']['ScanTime']

    proj_stereo = wrl.georef.create_osr("dwd-radolan")
    proj_wgs = osr.SpatialReference()
    proj_wgs.ImportFromEPSG(4326)

    from pcc import boxpol_pos
    bonn_pos = boxpol_pos()
    bx, by = bonn_pos['gkx_ppi'], bonn_pos['gky_ppi']
    bonnlat, bonnlon = bonn_pos['lat_ppi'], bonn_pos['lon_ppi']
    blat, blon = bonn_pos['lat_ppi'], bonn_pos['lon_ppi']

    dpr_lon, dpr_lat = wradlib.georef.reproject(dpr_lon,
                                                dpr_lat,
                                                projection_target=proj_stereo,
                                                projection_source=proj_wgs)
    bonnlon, bonnlat = wradlib.georef.reproject(bonnlon,
                                                bonnlat,
                                                projection_target=proj_stereo,
                                                projection_source=proj_wgs)

    print '-------->', bonnlon, bonnlat

    lon0, lat0, radius = bonnlon, bonnlat, 100
    r = np.sqrt((dpr_lat - lat0)**2 + (dpr_lon - lon0)**2)
    position = r < radius

    lat = dpr_lat[position]
    lon = dpr_lon[position]

    dpr_pp[np.where(r > radius)] = np.nan
    pp = dpr_pp

    dpr_pp_surf[np.where(r > radius)] = np.nan

    dpr_bbw[np.where(r > radius)] = np.nan
    dpr_bbh[np.where(r > radius)] = np.nan

    # Zeitstempel erstellen
    l2, l1 = -190, -250
    k2, k1 = -4210, -4270
    # BoxPol
    #l2, l1 = -110, -320
    #k2, k1 = -4130, -4340
    #
    pos = np.where((dpr_lat < k2) & (dpr_lat > k1) & (dpr_lon < l2)
                   & (dpr_lon > l1))

    stunde = np.array(dpr_time['Hour'])[pos[0]][0]
    minute = np.array(dpr_time['Minute'])[pos[0]][0]
    sekunde = np.array(dpr_time['Second'])[pos[0]][0]

    jahr = np.array(dpr_time['Year'])[pos[0]][0]
    monat = np.array(dpr_time['Month'])[pos[0]][0]
    tag = np.array(dpr_time['DayOfMonth'])[pos[0]][0]
    zeit = (str(jahr) + '.' + str(monat) + '.' + str(tag) + ' -- ' +
            str(stunde) + ':' + str(minute) + ':' + str(sekunde))
    print zeit

    h = np.arange(150, 4800, 150)
    if scan == 'HS':
        hdpr = 1000 * (np.arange(88, 0, -1) * 0.250)

    else:
        hdpr = 1000 * (np.arange(176, 0, -1) * 0.125)

    hhh = np.array(pp.shape[0] * pp.shape[1] * list(hdpr))
    ppp = pp.reshape(pp.shape[0] * pp.shape[1] * pp.shape[2])

    maske = ~np.isnan(hhh) & ~np.isnan(ppp)

    fig = plt.figure(figsize=(14, 12))
    zzz = str(jahr) + '-' + str(monat) + '-' + str(tag) + '--' + str(
        stunde) + ':' + str(minute) + ' UTC'
    fig.suptitle(zzz + ' UTC')

    ###################
    ax1 = fig.add_subplot(221, aspect='auto')
    #plt.subplot(2,2,1)
    plt.pcolormesh(dpr_lon,
                   dpr_lat,
                   np.ma.masked_invalid(dpr_pp_surf),
                   vmin=np.nanmin(dpr_pp_surf),
                   vmax=np.nanmax(dpr_pp_surf),
                   cmap=get_miub_cmap())
    cbar = plt.colorbar()
    cbar.set_label('Ref. in dbz')
    plot_borders(ax1)
    plot_radar(blon, blat, ax1, reproject=True, cband=False, col='black')
    plt.plot(dpr_lon[:, 0], dpr_lat[:, 0], color='black', lw=1)
    plt.plot(dpr_lon[:, -1], dpr_lat[:, -1], color='black', lw=1)
    plt.plot(dpr_lon[:, dpr_lon.shape[1] / 2],
             dpr_lat[:, dpr_lon.shape[1] / 2],
             color='black',
             lw=1,
             ls='--')

    ax1 = plt.scatter(bonnlon, bonnlat, c=50, s=50, color='red')

    plt.grid()
    plt.xlim(-420, 390)
    plt.ylim(-4700, -3700)

    ##################
    ax2 = fig.add_subplot(222, aspect='auto')
    plt.hist2d(ppp[maske], hhh[maske], bins=30, cmap=get_my_cmap(), vmin=0.1)
    print pp.shape

    #plt.plot(np.nanmax(pp[:,:],axis=0),hdpr, color='red', lw=2)
    plt.plot(np.nanmean(pp[:, :, :], axis=(0, 1)), hdpr, color='red', lw=2)
    plt.plot(np.nanmedian(pp[:, :, :], axis=(0, 1)), hdpr, color='green', lw=2)
    cbar = plt.colorbar()
    cbar.set_label('#')

    plt.title('DPR Ref. in Box')
    plt.xlabel('Reflectivity in dBZ')
    plt.grid()
    plt.xticks()
    plt.yticks()

    #plt.ylim(0,6000)
    #plt.xlim(0,50)
    ##################
    #print np.uniforn(bbh)
    #mini = np.nanmin(bbh[bbh>0])

    ax3 = fig.add_subplot(223, aspect='auto')
    plt.pcolormesh(dpr_lon,
                   dpr_lat,
                   np.ma.masked_invalid(dpr_bbh),
                   vmin=np.nanmin(dpr_bbh[dpr_bbh > 0]),
                   vmax=np.nanmax(dpr_bbh),
                   cmap='jet')
    cbar = plt.colorbar()
    cbar.set_label('BB Hight in m')

    plot_borders(ax3)
    plot_radar(blon, blat, ax3, reproject=True, cband=False, col='black')
    plt.plot(dpr_lon[:, 0], dpr_lat[:, 0], color='black', lw=1)
    plt.plot(dpr_lon[:, -1], dpr_lat[:, -1], color='black', lw=1)
    plt.plot(dpr_lon[:, dpr_lon.shape[1] / 2],
             dpr_lat[:, dpr_lon.shape[1] / 2],
             color='black',
             lw=1,
             ls='--')

    ax1 = plt.scatter(bonnlon, bonnlat, c=50, s=50, color='red')
    plt.grid()
    #plt.title('BB Hight')
    plt.xlim(-420, 390)
    plt.ylim(-4700, -3700)

    ##################
    ax4 = fig.add_subplot(224, aspect='auto')
    plt.pcolormesh(dpr_lon,
                   dpr_lat,
                   np.ma.masked_invalid(dpr_bbw),
                   vmin=np.nanmin(dpr_bbw[dpr_bbh > 0]),
                   vmax=np.nanmax(dpr_bbw),
                   cmap='jet')
    cbar = plt.colorbar()
    cbar.set_label('BB Width in m')

    plot_borders(ax4)
    plot_radar(blon, blat, ax4, reproject=True, cband=False, col='black')
    plt.plot(dpr_lon[:, 0], dpr_lat[:, 0], color='black', lw=1)
    plt.plot(dpr_lon[:, -1], dpr_lat[:, -1], color='black', lw=1)
    plt.plot(dpr_lon[:, dpr_lon.shape[1] / 2],
             dpr_lat[:, dpr_lon.shape[1] / 2],
             color='black',
             lw=1,
             ls='--')

    ax1 = plt.scatter(bonnlon, bonnlat, c=50, s=50, color='red')
    plt.grid()
    #plt.title('BB Width')
    plt.xlim(-420, 390)
    plt.ylim(-4700, -3700)

    plt.tight_layout()
    plt.show()
예제 #15
0
cc = 1.0
fig = plt.figure(figsize=(10, 10))
ax1 = fig.add_subplot(221, aspect='equal')#------------------------------------
#ax1, pm1 = wradlib.vis.plot_ppi(R,r,az,vmin=0.01,vmax=50, cmap=my_cmap())
pm1 = plt.pcolormesh(box_x, box_y, R, vmin=0, vmax=50, cmap=my_cmap())

#cb = plt.colorbar(pm1,shrink=cc)
#cb.set_label("Reflectivity (dBZ)",fontsize=ff)
#cb.ax.tick_params(labelsize=ff)

plt.plot(gpm_x[:,0], gpm_y[:,0], color='black')
plt.plot(gpm_x[:,-1], gpm_y[:,-1], color='black')
plt.plot(gpm_x[:,23], gpm_y[:,23], color='black', ls='--')

from pcc import plot_borders
plot_borders(ax1)
plot_radar(bblon, bblat, ax1, reproject=True, cband=False,col='black')

plt.tick_params(
    axis='both',
    which='both',
    bottom='off',
    top='off',
    labelbottom='off',
    right='off',
    left='off',
    labelleft='off')

#plt.title('BoXPol Reflectivity:\n 2014-10-07--02:37:44',fontsize=ff)

plt.grid(color='r')
예제 #16
0
ff = 15
cc = 0.5
fig = plt.figure(figsize=(14, 10))
plt.suptitle('Problem: Changing RADOLAN observation section', fontsize=ff)
ax1 = fig.add_subplot(131, aspect='equal')
plt.pcolormesh(x, y, rn * 0.2, cmap=my_cmap, vmin=0, vmax=1, zorder=2)
pm1 = plt.pcolormesh(x, y, rwdata, cmap=my_cmap, vmin=0.01, vmax=50, zorder=2)

plt.plot(gpm_x[:, 0], gpm_y[:, 0], color='black', lw=1)
plt.plot(gpm_x[:, -1], gpm_y[:, -1], color='black', lw=1)
#plt.scatter(x, y, rwdata, cmap=my_cmap,vmin=0.1,vmax=10, zorder=2)
cb = plt.colorbar(shrink=cc)
cb.set_label("Ref [dbZ]", fontsize=ff)
cb.ax.tick_params(labelsize=ff)

plot_borders(ax1)

plot_radar(bonnlon, bonnlat, ax1, reproject=True)

plt.title('RADOLAN Ref: \n' + '20' + str(pfad_radolan[-20:-18]) + '-' +
          str(pfad_radolan[-18:-16]) + '-' + str(pfad_radolan[-16:-14]) +
          ' T: ' + str(pfad_radolan[-14:-10]) + '00 UTC',
          fontsize=ff)
#plt.xlabel("x [km] ",fontsize=ff)
#plt.ylabel("y [km]  ",fontsize=ff)
#plt.xticks(fontsize=0)
#plt.yticks(fontsize=0)
plt.grid(color='r')
#plt.xlim(-1000, 850)
#plt.ylim(-5500, -3000)
plt.tick_params(axis='both',
예제 #17
0
    pm2 = plt.pcolormesh(gpm_x,
                         gpm_y,
                         np.ma.masked_invalid(gprof_pp_b),
                         cmap=my_cmap,
                         vmin=np.nanmin(gprof_pp_b),
                         vmax=np.nanmax(gprof_pp_b),
                         zorder=2)

    plt.plot(gpm_x[:, 0], gpm_y[:, 0], color='black', lw=1)
    plt.plot(gpm_x[:, -1], gpm_y[:, -1], color='black', lw=1)
    cb = plt.colorbar(shrink=cc)
    cb.set_label(str(gpm_para[iii]), fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plt.title('GPM DPR Reflectivity: \n' + gpm_zeit + ' UTC', fontsize=ff)
    plot_borders(ax2)
    plot_radar(bonnlon, bonnlat, ax2, reproject=True)
    plt.grid(color='r')
    plt.tick_params(axis='both',
                    which='both',
                    bottom='off',
                    top='off',
                    labelbottom='off',
                    right='off',
                    left='off',
                    labelleft='off')
    plt.xlim(-420, 390)
    plt.ylim(-4700, -3700)

plt.tight_layout()
#plt.savefig('/home/velibor/shkgpm/plot/test_dpr_radolan_'+ZP + '.png' )
예제 #18
0
파일: pcc_geo.py 프로젝트: vecoveco/gpm
    proj_stereo = wrl.georef.create_osr("dwd-radolan")
    proj_wgs = osr.SpatialReference()
    proj_wgs.ImportFromEPSG(4326)

    gpm_x, gpm_y = wradlib.georef.reproject(blon, blat, projection_target=proj_stereo , projection_source=proj_wgs)
    grid_xy = np.vstack((gpm_x.ravel(), gpm_y.ravel())).transpose()


    from pcc import plot_borders


    #ax = fig.add_subplot(int('33'+str(i+1)), aspect='equal')
    plt.pcolormesh(gpm_x,gpm_y, (bpp), cmap=plt.cm.gist_earth, norm=LogNorm(),
                   vmin=1, vmax=3000)
    plot_borders(ax)

plt.xlim(-600,400)
plt.ylim(-4800,-3600)
    #plt.title(str(a[i]))
cb = plt.colorbar()
cb.set_label('binRealSurface [m]')
plt.grid()

from pcc import plot_dem
ax2 = fig.add_subplot(122, aspect='equal')
#plt.plot(gpm_x[:,0], gpm_y[:,0])
#plt.plot(gpm_x[:,-1], gpm_y[:,-1])
plot_dem(ax2)
plt.title('DEM Height')
예제 #19
0
파일: pcc_gpm_T.py 프로젝트: vecoveco/gpm
def plot_all():
    ax1 = fig.add_subplot(231, aspect='equal')
    plt.pcolormesh(x, y, rwdata, cmap=get_miub_cmap(),
                   vmin=0.1,vmax=50, zorder=2)
    cb = plt.colorbar(shrink=0.5)
    cb.set_label("Ref (dbz)",fontsize=ff)
    #cb.set_label("Rainrate (mm/h)",fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plot_borders(ax1)
    plt.title('RADOLAN Ref: \n'+'20' + str(pfad_radolan[-20:-18])+'-'+str(pfad_radolan[-18:-16])+'-'+str(pfad_radolan[-16:-14])+
           ' T: '+str(pfad_radolan[-14:-10]) + '00 UTC',fontsize=ff) #RW Product Polar Stereo

    plt.xlabel("x [km] ",fontsize=ff)
    plt.ylabel("y [km]  ",fontsize=ff)
    plt.grid(color='r')
    plt.xlim(-420,390)
    plt.ylim(-4700, -3700)


    ax2 = fig.add_subplot(232, aspect='equal')
    pm2 = plt.pcolormesh(gprof_x, gprof_y,np.ma.masked_invalid(gprof_pp[latstart:latend]),
                         cmap=my_cmap,vmin=0.1,vmax=10, zorder=2)

    cb = plt.colorbar(shrink=0.5)
    cb.set_label("Rainrate (mm/h)",fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plt.xlabel("x [km] ",fontsize=ff)
    plt.ylabel("y [km]  ",fontsize=ff)
    plt.title('GPM GPROF Rainrate: \n' + str(pfad_gprof_g[66:70]) + '-' +str(pfad_gprof_g[70:72])+ '-' +
              str(pfad_gprof_g[72:74]) + ' T: ' +str(pfad_gprof_g[76:82]) + '-' + str(pfad_gprof_g[84:90]) + ' UTC',fontsize=ff)
    plot_borders(ax2)
    plt.xticks(fontsize=ff)
    plt.yticks(fontsize=ff)
    plt.grid(color='r')
    plt.tight_layout()
    ax2.set_xlim(ax1.get_xlim())
    ax2.set_ylim(ax1.get_ylim())



    ax37 = fig.add_subplot(233, aspect='equal')
    plt.pcolormesh(dpr_x, dpr_y,np.ma.masked_invalid(dpr_pp[latstartd:latendd]),
                         cmap=my_cmap,vmin=0.1,vmax=10, zorder=2)

    cb = plt.colorbar(shrink=0.5)
    cb.set_label("Rainrate (mm/h)",fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plt.xlabel("x [km] ",fontsize=ff)
    plt.ylabel("y [km]  ",fontsize=ff)
    plt.title('GPM DPR Rainrate: \n' + str(pfad_gprof_g[66:70]) + '-' +str(pfad_gprof_g[70:72])+ '-' +
              str(pfad_gprof_g[72:74]) + ' T: ' +str(pfad_gprof_g[76:82]) + '-' + str(pfad_gprof_g[84:90]) + ' UTC',fontsize=ff)
    plot_borders(ax37)
    plt.xticks(fontsize=ff)
    plt.yticks(fontsize=ff)
    plt.grid(color='r')
    ax37.set_xlim(ax1.get_xlim())
    ax37.set_ylim(ax1.get_ylim())

    ##################################
    ax29 = fig.add_subplot(234, aspect='equal')
    #pm2 = plt.pcolormesh(gprof_x, gprof_y,np.ma.masked_invalid(gprof_pp[latstart:latend]),
    #                     cmap=my_cmap,vmin=0.1,vmax=10, zorder=2)
    pm2 = plt.pcolormesh(gprof_x, gprof_y,np.ma.masked_invalid(gprof_snow[latstart:latend]),
                         cmap=get_miub_cmap(),vmin=0,vmax=5, zorder=1)


    cb = plt.colorbar(shrink=0.5)
    cb.set_label("SnowCoverIndex ",fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plt.xlabel("x [km] ",fontsize=ff)
    plt.ylabel("y [km]  ",fontsize=ff)
    plt.title('GPM GPROF SnowCoverIndex: \n' + str(pfad_gprof_g[66:70]) + '-' +str(pfad_gprof_g[70:72])+ '-' +
              str(pfad_gprof_g[72:74]) + ' T: ' +str(pfad_gprof_g[76:82]) + '-' + str(pfad_gprof_g[84:90]) + ' UTC',fontsize=ff)
    plot_borders(ax29)
    plt.xticks(fontsize=ff)
    plt.yticks(fontsize=ff)
    plt.grid(color='r')
    #plt.tight_layout()
    ax29.set_xlim(ax1.get_xlim())
    ax29.set_ylim(ax1.get_ylim())

    from pcc import get_2_cmap
    ax28 = fig.add_subplot(235, aspect='equal')
    pm2 = plt.pcolormesh(gprof_x, gprof_y,np.ma.masked_invalid(gprof_l[latstart:latend]),
                         cmap=get_2_cmap(),vmin=0,vmax=1, zorder=1)

    cb = plt.colorbar(shrink=0.5)
    cb.set_label("LiquidWaterFraction",fontsize=ff)
    cb.ax.tick_params(labelsize=ff)
    plt.xlabel("x [km] ",fontsize=ff)
    plt.ylabel("y [km]  ",fontsize=ff)
    plt.title('GPM GPROF LiquidWaterFraction: \n' + str(pfad_gprof_g[66:70]) + '-' +str(pfad_gprof_g[70:72])+ '-' +
              str(pfad_gprof_g[72:74]) + ' T: ' +str(pfad_gprof_g[76:82]) + '-' + str(pfad_gprof_g[84:90]) + ' UTC',fontsize=ff)
    plot_borders(ax28)
    plt.xticks(fontsize=ff)
    plt.yticks(fontsize=ff)
    plt.grid(color='r')
    #plt.tight_layout()
    ax28.set_xlim(ax1.get_xlim())
    ax28.set_ylim(ax1.get_ylim())
예제 #20
0
#rrr, ggg = ggg, rrr

ff = 15
cc = 0.5
fig = plt.figure(figsize=(12,12))
ax1 = fig.add_subplot(221, aspect='equal')#------------------------------------

pm1 = plt.pcolormesh(x, y, rwdata, cmap=my_cmap, vmin=0.01, vmax=50, zorder=2)

plt.plot(gpm_x[:,0],gpm_y[:,0], color='black',lw=1)
plt.plot(gpm_x[:,-1],gpm_y[:,-1], color='black',lw=1)
cb = plt.colorbar(shrink=cc)
cb.set_label("Reflectivity [dBZ]",fontsize=ff)
cb.ax.tick_params(labelsize=ff)

plot_borders(ax1)
print bonnlat, bonnlon
plot_radar(bonnlon, bonnlat, ax1, reproject=True, cband=False,col='black')

plt.title('RADOLAN Reflectivity: \n'+ radolan_zeit + ' UTC',fontsize=ff)
plt.grid(color='r')
plt.tick_params(
    axis='both',
    which='both',
    bottom='off',
    top='off',
    labelbottom='off',
    right='off',
    left='off',
    labelleft='off')
plt.xlim(-420,390)
예제 #21
0
fig = plt.figure(figsize=(14, 12))
#zzz = str(jahr)+'-'+str(monat)+'-'+str(tag)+'--'+str(stunde)+':'+str(minute)+' UTC'
#fig.suptitle(zzz + ' UTC')

###################
ax1 = fig.add_subplot(221, aspect='auto')
#plt.subplot(2,2,1)
plt.pcolormesh(dpr_lon,
               dpr_lat,
               np.ma.masked_invalid(dpr_pp_surf),
               vmin=np.nanmin(dpr_pp_surf),
               vmax=np.nanmax(dpr_pp_surf),
               cmap=get_miub_cmap())
cbar = plt.colorbar()
cbar.set_label('Ref. in dbz')
plot_borders(ax1)
plot_radar(blon, blat, ax1, reproject=True, cband=False, col='black')
plt.plot(dpr_lon[:, 0], dpr_lat[:, 0], color='black', lw=1)
plt.plot(dpr_lon[:, -1], dpr_lat[:, -1], color='black', lw=1)
plt.plot(dpr_lon[:, dpr_lon.shape[1] / 2],
         dpr_lat[:, dpr_lon.shape[1] / 2],
         color='black',
         lw=1,
         ls='--')

ax1 = plt.scatter(bonnlon, bonnlat, c=50, s=50, color='red')

plt.grid()
plt.xlim(-420, 390)
plt.ylim(-4700, -3700)
예제 #22
0
plt.suptitle('Problem: Changing RADOLAN observation section', fontsize=ff)
ax1 = fig.add_subplot(131, aspect='equal')
plt.pcolormesh(x, y,rn*0.2,
                     cmap=my_cmap, vmin=0, vmax=1,zorder=2)
pm1 = plt.pcolormesh(x, y, rwdata, cmap=my_cmap, vmin=0.01, vmax=50, zorder=2)

plt.plot(gpm_x[:,0],gpm_y[:,0], color='black',lw=1)
plt.plot(gpm_x[:,-1],gpm_y[:,-1], color='black',lw=1)
#plt.scatter(x, y, rwdata, cmap=my_cmap,vmin=0.1,vmax=10, zorder=2)
cb = plt.colorbar(shrink=cc)
cb.set_label("Ref [dbZ]",fontsize=ff)
cb.ax.tick_params(labelsize=ff)



plot_borders(ax1)

plot_radar(bonnlon, bonnlat, ax1, reproject=True)

plt.title('RADOLAN Ref: \n'+'20' + str(pfad_radolan[-20:-18])+'-'+str(pfad_radolan[-18:-16])+'-'+str(pfad_radolan[-16:-14])+
       ' T: '+str(pfad_radolan[-14:-10]) + '00 UTC',fontsize=ff)
#plt.xlabel("x [km] ",fontsize=ff)
#plt.ylabel("y [km]  ",fontsize=ff)
#plt.xticks(fontsize=0)
#plt.yticks(fontsize=0)
plt.grid(color='r')
#plt.xlim(-1000, 850)
#plt.ylim(-5500, -3000)
plt.tick_params(
    axis='both',
    which='both',