from util.setup_cloud_fraction import model_path
from aeolus.datasource import CLAVRx
import os
from deeplearning.cloud_fraction_fcn_abi import run_evaluate_static, run_evaluate_static_full_disk


def infer_cloud_fraction(clvrx_path, output_dir, full_disk=True):
    ckpt_dir_s = os.listdir(model_path)
    ckpt_dir = model_path + ckpt_dir_s[0]

    clvrx_ds = CLAVRx(clvrx_path)
    for fname, t_start, t_stop in clvrx_ds:
        dto = clvrx_ds.get_datetime(fname)
        clvrx_str_time = dto.strftime('%Y-%m-%d_%H:%M')
        out_file = output_dir + 'cloud_fraction_' + clvrx_str_time
        if full_disk:
            run_evaluate_static_full_disk(fname, out_file, ckpt_dir)
        else:
            run_evaluate_static(fname, out_file, ckpt_dir)