# loggers
firstday = today - dt.timedelta(days=ndays)
prevdays = []
for dd in range(ndays):
prevdays.append(today - dt.timedelta(days=ndays - dd))
for ll in loggers:
if isinstance(rfiles, list):
lfiles = [ rr[ll] for rr in rfiles ]
else:
lfiles = rfiles[ll]
print(f'{ll}')
if 'Profile' in ll:
vmax = 422
else:
vmax = 48
df = read_data(lfiles, ftype='raw')
sf = df.isna().groupby(df.index.date).sum()
sf = sf.set_index(pd.to_datetime(sf.index))
sf = sf.resample('1D').asfreq(vmax)
sf = sf[(sf.index.date >= firstday) & (sf.index.date < today)]
sf = sf.T
# sf.columns = prevdays[:len(sf.columns)]
fig, ax = plt.subplots(figsize=(6.4, sf.shape[0]/4.))
sns.heatmap(axes=ax, data=sf, vmax=vmax, cmap=cmap, linewidths=0.5,
xticklabels=prevdays, yticklabels=sf.index,
annot=True, fmt='d')
# ax.set_xlabel('Days before today')
ax.set_ylabel('Variable name')
plt.show()
# smartflux
ivars = ['DOY', 'daytime']
sfile = get_config_smartflux_files(config, ftype='db1')
print(f'Smartflux')
vmax = 48
df = read_eddypro(sfile)
df = df[ivars]
sf = df.isna().groupby(df.index.date).sum()
sf = sf.set_index(pd.to_datetime(sf.index))
sf = sf.resample('1D').asfreq(vmax)
sf = sf[(sf.index.date >= firstday) & (sf.index.date < today)]
sf = sf.T
# sf.columns = prevdays[:len(sf.columns)]
fig, ax = plt.subplots(figsize=(6.4, sf.shape[0]/4.))
sns.heatmap(axes=ax, data=sf, vmax=vmax, cmap=cmap, linewidths=0.5,
xticklabels=prevdays, yticklabels=sf.index,
annot=True, fmt='d')
# ax.set_xlabel('Days before today')
ax.set_ylabel('Variable name')
plt.show()