Пример #1
0
dat6.BSP = dat6.BSP / fit.beta[0]
merge.BSP = merge.BSP / fit.beta[0]


fig = dat6.plot_speeds(t1=(10,24,00), t2=(10,38,59))

axs = fig.get_axes()
axs[0].legend(loc = 'lower left')
axs[1].legend(loc = 'upp right')
plt.draw()
plt.savefig(plotpath + 'Kalibrationsfahrt.png')
    


# require almost const speed
smoothedBSP = NX2.smooth_gauss(merge.BSP, 3.)
smoothedTWA = NX2.smooth_gauss(np.abs(merge.TWA), 3.)
smoothedTWS = NX2.smooth_gauss(merge.TWS, 3.)
index = (abs(np.diff(smoothedTWS)) < 0.01) # careful! n-1 elements! see below
# index = np.hstack((index, [False]))
fig, polar = plot_polar(smoothedTWA[index], smoothedTWS[index], smoothedBSP[index])


def plot_polar(angle, wind, bsp, fct = np.median):
    fig = plt.figure()
    fig.canvas.set_window_title('Polardiagramm')
    ax = fig.add_subplot(111, polar = True)
    color = ['r', 'g', 'b', 'y', 'k', 'c', 'orange']
    speedbins = np.array([0.,2.,4.,6.,8.,10.,12.])
    #make bins slightly larger than 15., so that 180. is part of last bin
    anglebins = np.arange(0., 181., 15.001)
Пример #2
0
anglebins = np.arange(0., 181., 15.001)
digawa = np.digitize(np.abs(dat.AWA),anglebins)
bsp = np.zeros([max(digaws)+1,max(digawa)+1])
for i in np.arange(1,len(twsbins)):
  for j in np.arange(1,len(anglebins)):
    bsp[i,j] = np.median(dat.BSP[(dat.sailing ==1)&(digaws==i)&(digawa==j)])
  plt.polar(np.deg2rad(anglebins[0:-1]+np.diff(anglebins)/2.), bsp[i,1:], color = color[i], lw = 3, label='{0:3.1f}-{1:3.1f} kn'.format(twsbins[i-1], twsbins[i]))

plt.legend(loc = 4)
plt.title('Polardigramm - scheinbarer Wind')
plt.savefig(plotpath +'/Polardiagram_AW.png')



dat = merge.where(merge.LON < 500.)
dat.BSP = NX2.smooth_gauss(dat.BSP, 5.)
dat.TWS = NX2.smooth_gauss(dat.TWS, 5.)
dat.TWA = NX2.smooth_gauss(dat.TWA, 5.)
sailing = NX2.smooth_gauss(np.array(dat.sailing, dtype = np.float), 30.)

con3 = (abs(np.diff(dat.BSP)) < 0.05) # careful! n-1 elements!
myl = con3.tolist()
myl.append([True])
con3 = np.array(myl)

con2 = (abs(np.diff(dat.TWA)) < .5) # careful! n-1 elements!
myl = con2.tolist()
myl.append([True])
con2 = np.array(myl)

con1 = (abs(np.diff(dat.TWS)) < 0.05) # careful! n-1 elements!