from netCDF4 import Dataset
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
from pylab import get_current_fig_manager
import os
import xarray as xr
from Process_Spectra import process_spectra
required_alt=np.arange(0,10)


fn='/project/meteo/data/miraMACS/mom/2023/09/22/20230922_1800.znc'
dataset = xr.open_dataset(fn)
data = process_spectra(dataset,'o')
data.time.attrs['units'] = 'seconds since {0}'.format('1970-01-01 00:00:00 UTC')
data = xr.decode_cf(data)
ht=np.where(abs((data.range.values/1000)-required_alt)<0.05)
ds = Dataset(fn)

edge_width=[]
diff_refl=[]

for i in range(0,len(data.time)):
	ind=np.where(~np.isnan(data.SPCco_cal[i,ht[0][0],:]))
	edge_width.append(abs(data.doppler[ind[0][0]].values-data.doppler[ind[0][-1]].values))
	diff_refl.append(np.nanmax(10*np.log10(data.SPCco_cal[i,ht[0][0],:]).values)-np.nanmin(10*np.log10(data.SPCco_cal[i,ht[0][0],:]).values))
	
fig,ax=plt.subplots(figsize=(8,6))

plt.plot(edge_width)
plt.plot(diff_refl)
plt.plot(10*np.log10(ds['SNRg'][:,ht[0][0]]))
plt.plot()
plt.xlabel('*5 seconds',fontsize=12,fontweight='bold')
ax.legend( ['Spectra Edge Width (m s$^{-1}$)', 'Max. peak-noise difference (dBZ)', 'SNRg (dBZ)'])
plt.title('Spectra Edge Width at '+str(required_alt)+' km on '+fn[-17:-4])
plt.xlim(0,180)

my_file=('Spectra_Edge_Width_15min_'+fn[-17:-4]+'.png')
#my_path=os.path.abspath()
#plt.savefig(os.path.join(my_path, my_file),bbox_inches='tight',dpi=500)
plt.savefig(my_file,bbox_inches='tight',dpi=500)
