In [1]:
%run basics
%matplotlib
In [2]:
# get the netCDF file name
ncname = qcio.get_filename_dialog(path="../../Sites")
In [3]:
# read the netCDF file contents into the data structure
ds = qcio.nc_read_series(ncname)
In [45]:
# get the necessary data from the data structure
dt = ds.series["DateTime"]["Data"]
Fsd,f,a = qcutils.GetSeriesasMA(ds,"Fsd")
Fsd_syn,f,a = qcutils.GetSeriesasMA(ds,"Fsd_syn")
Fsd_filtered,f,a = qcutils.GetSeriesasMA(ds,"Fsd_filtered")
Fc,f,a = qcutils.GetSeriesasMA(ds,"Fc")
ustar,f,a = qcutils.GetSeriesasMA(ds,"ustar")
Hour,f,a = qcutils.GetSeriesasMA(ds,"Hour")
sa,f,a = qcutils.GetSeriesasMA(ds,"solar_altitude")
Ts,f,a = qcutils.GetSeriesasMA(ds,"Ts")
In [46]:
Fc_filtered = numpy.ma.masked_where(numpy.ma.getmaskarray(Fsd_filtered)==True,Fc)
ustar_filtered = numpy.ma.masked_where(numpy.ma.getmaskarray(Fsd_filtered)==True,ustar)
Hour_filtered = numpy.ma.masked_where(numpy.ma.getmaskarray(Fsd_filtered)==True,Hour)
Ts_filtered = numpy.ma.masked_where(numpy.ma.getmaskarray(Fsd_filtered)==True,Ts)
index = numpy.ma.where(Fc_filtered<=0)[0]
Hour_filtered_Fcnegative = Hour_filtered[index]
In [47]:
fig=plt.figure()
ax0 = plt.subplot(411)
ax0.plot(dt,sa,'bo')
ax1 = plt.subplot(412,sharex=ax0)
ax1.plot(dt,Fsd_filtered,'bo')
ax2 = plt.subplot(413,sharex=ax0)
ax2.plot(dt,Fc_filtered,'bo')
ax2.plot([dt[0],dt[-1]],[0,0],'r-')
ax3 = plt.subplot(414,sharex=ax0)
ax3.plot(dt,ustar_filtered,'bo')
plt.show()
In [57]:
bins=[i-0.5 for i in range(0,25)]
fig=plt.figure()
plt.hist(numpy.ma.compressed(Hour_filtered_Fcnegative),bins=bins)
plt.show()
In [66]:
Hour_f = numpy.ma.compressed(Hour_filtered)
Ts_f = numpy.ma.compressed(Ts_filtered)
bin_mean,bin_edges,bin_number = scipy.stats.binned_statistic(Hour_f,Ts_f,statistic='mean',bins=bins)
bin_width = bin_edges[1] - bin_edges[0]
bin_centers = bin_edges[1:] - bin_width/2
In [69]:
fig=plt.figure()
plt.plot(bin_centers,bin_mean,'bo')
plt.ylabel("Ts (C)")
plt.xlabel("Hour")
plt.show()
In [ ]: