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