k_vec=k_vec[0:nn] for tt in range(0,len(Ampli)): if Ampli[tt]<1/np.e: break decaytime=k_vec[tt] fig=plt.figure() ax=fig.gca() plt.plot(k_vec,Ampli,'k*') ax.set_ylabel('Amplitudes') #Plotting if time is longer than decaytime if t>2.*decaytime*dt: Aq1,Bq1=myftransform(initeta) Aq2,Bq2=myftransform(eta[:,decaytime]) Aq3,Bq3=myftransform(eta[:,2*decaytime]) Spectrum1=1./2*(Aq1**2 + Bq1**2)/(1./dx) Spectrum2=1./2*(Aq2**2 + Bq2**2)/(1./dx) Spectrum3=1./2*(Aq3**2 + Bq3**2)/(1./dx) freqs1=np.arange(1,len(Aq1))*(1./len(x)) freqs2=np.arange(1,len(Aq2))*(1./len(x)) freqs3=np.arange(1,len(Aq3))*(1./len(x)) fig=plt.figure() ax=fig.gca() plt.loglog(freqs1,Spectrum1[1:],'k-') ax.set_ylabel('Energy density [m$^3$]') ax.set_xlabel('Wave number [m$^{-1}$]') plt.show() fig=plt.figure()
ax=fig.gca() ax.plot(time,temp_surf,label='T$_{surf}$') ax.plot(time,temp_200,label='T$_{200}$') ax.set_ylabel('Temperature [C]') ax.set_xlabel('Time [year]') ax.legend(bbox_to_anchor=(1.01, 1), loc=2, borderaxespad=0., prop={'size':18}) plt.show() #This next section converts data from aray to dataframe so pandas can be used #and values can be interpolated. surfdata=pd.Series(temp_surf) tsurf=surfdata.interpolate('linear').values#interpolated surface temperatures data200=pd.Series(temp_200) t200=data200.interpolate('linear').values#interpolated z=200 m temps Asurf,Bsurf=myftransform(tsurf)#Coefficients of fourier series Ssurffft=np.abs((np.fft.rfft(tsurf)))#Python's energy spectrum Ssurf=1./2*(Asurf**2 + Bsurf**2)/(1./months)#Energy spectrum from coeff A200,B200=myftransform(t200)#Coefficients for depth 200 m S200=1./2*(A200**2 + B200**2)/(1./months)#Energy from coeffs S200fft=np.abs((np.fft.rfft(t200)))#Pythons fft spectrum qvals=np.arange(0,len(tsurf)/2+1,1)#Amount of q's in series freqs=(1.*qvals/months)#frequency band of inspection sigma=2.*np.pi*(1./months)#Characteristic frequency #fig=plt.figure(2)#Interpolated temp profiles #ax=fig.gca() #ax.plot(time,tsurf,label='T$_{surf}$') #ax.plot(time,t200,label='T$_{200}$') #ax.set_ylabel('Temperature [C]') #ax.set_xlabel('Time [year]')