from itertools import count
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import numpy as np
import glob
from netCDF4 import Dataset
from pylab import get_current_fig_manager
import time as time_app
from datetime import date
#today = date.today()
today='20231106'
#fn1='/project/meteo/data/miraMACS/mom/2023/10/17'
d1 = today.strftime("%d/%m/%Y")
fn1='/project/meteo/data/miraMACS/mom/2023/'+d1[3:5]+'/'+d1[0:2]
input_data=sorted(glob.glob(fn1+'/????????_??00.mmclx'))

index=count()

z=[]
v=[]
sw=[]
ldr=[]
xtick=[]
xticklabels=[]

def animate(i):
    fn=input_data[next(index)]
    ds = Dataset(fn)
    z.append(ds.variables['Ze'][:].data)
    z1=np. concatenate(z)
    Z=10*np.log10(np. concatenate(z))
    v.append(ds.variables['VEL'][:].data)
    V=np. concatenate(v)
    sw.append(ds.variables['RMS'][:].data)
    SW=np. concatenate(sw)
    ldr.append(ds.variables['LDR'][:].data)
    LDR=np. concatenate(ldr)
    xticklabels.append(fn[-10:-6])
    xtick.append(len(z1))

    #plt.cla()
    time=np.arange(0,len(z1))
    time1=(time*np.ones((z1.shape[1],z1.shape[0])))
    ht=ds.variables['range'][:].data
    ht1=(ht*np.ones((z1.shape[0],z1.shape[1])))

    
    
    ax=plt.subplot(4,1,1)
    pc=plt.pcolor(time1.transpose(),ht1/1000,Z,cmap='jet',vmin=-60,vmax=20)
    del Z,ds
    fn=input_data[-1]
    ds=Dataset(fn)
    zz=ds.variables['Ze'][:].data



    if zz.shape[0]<ds.variables['Ze'][:].data.shape[0]:

	ind_before=zz.shape[0]+1
	ind_after=ds.variables['Ze'][:].data.shape[0]
	delta_z=ds.variables['Ze'][ind_before:ind_after].data
	z.append(delta_z)
        z1=np. concatenate(z)
        Z=10*np.log10(np. concatenate(z))
	time=np.arange(0,len(z1))
        time1=(time*np.ones((z1.shape[1],z1.shape[0])))
        ht=ds.variables['range'][:].data
        ht1=(ht*np.ones((z1.shape[0],z1.shape[1])))
        pc=plt.pcolor(time1.transpose(),ht1/1000,Z,cmap='jet',vmin=-60,vmax=20)
        
