In [1]:
%run basics
import qcll
In [2]:
def get_configdictionary(cf):
configs_dict = {"nan_value":c.missing_value,
"output_plots":False,
"msmt_interval_hrs":0.5,
"QC_accept_code":0}
opt = qcutils.get_keyvaluefromcf(cf,["Options"],"minimum_temperature_spread",default=5)
configs_dict["minimum_temperature_spread"] = int(opt)
opt = qcutils.get_keyvaluefromcf(cf,["Options"],"step_size_days",default=5)
configs_dict["step_size_days"] = int(opt)
opt = qcutils.get_keyvaluefromcf(cf,["Options"],"window_size_days",default=15)
configs_dict["window_size_days"] = int(opt)
opt = qcutils.get_keyvaluefromcf(cf,["Options"],"minimum_pct_annual",default=30)
configs_dict["minimum_pct_annual"] = int(opt)
opt = qcutils.get_keyvaluefromcf(cf,["Options"],"minimum_pct_noct_window",default=20)
configs_dict["minimum_pct_noct_window"] = int(opt)
opt = qcutils.get_keyvaluefromcf(cf,["Options"],"minimum_pct_day_window",default=50)
configs_dict["minimum_pct_day_window"] = int(opt)
opt = qcutils.get_keyvaluefromcf(cf,["Options"],"plot_path",default="")
configs_dict["plot_output_path"] = str(opt)
return configs_dict
In [ ]:
def get_datadictionary(configs_dict,ds):
data_dict = {}
# datetime
dt = ds.series["DateTime"]["Data"]
# ustar-filtered Fc for use with the Lasslop et al method
Fc_data,Fc_flag,Fc_attr = qcutils.GetSeriesasMA(ds,"Fc_filtered")
# ecosystem respiration as nocturnal, ustar-filtered Fc for Lloyd-Taylor method
Fre_data,Fre_flag,Fre_attr = qcutils.GetSeriesasMA(ds,"Fre")
# downwelling shortwave radiation
Fsd_data,Fsd_flag,Fsd_attr = qcutils.GetSeriesasMA(ds,"Fsd")
# air temperature
Ta_data,Ta_flag,Ta_attr = qcutils.GetSeriesasMA(ds,"Ta")
# soil temperature
Ts_data,Ta_flag,Ta_attr = qcutils.GetSeriesasMA(ds,"Ts")
# vapour pressure deficit
VPD_data,VPD_flag,VPD_attr = qcutils.GetSeriesasMA(ds,"VPD")
# friction velocity
ustar_data,ustar_flag,ustar_attr = qcutils.GetSeriesasMA(ds,"ustar")
# choose only "good" data
# - rules for "good" are:
# -
return data_dict
In [3]:
cf = qcio.load_controlfile(path='../controlfiles')
configs_dict = get_configdictionary(cf)
In [ ]:
file_path = qcutils.get_keyvaluefromcf(cf,["Files"],"file_path",default="")
in_filename = qcutils.get_keyvaluefromcf(cf,["Files"],"in_filename",default="")
in_name = os.path.join(file_path,in_filename)
ds = qcio.nc_read_series(in_name)
if int(ds.globalattributes["time_step"])==60: configs_dict["msmt_interval_hrs"] = 1