def METHOD_NAME(config_dict) -> SubstitutionList:
    subst_list = SubstitutionList()
    for key, val in config_dict.get("DEFINE", []):
        subst_list[key] = val
    if "<CONFIG_PATH>" not in subst_list:
        subst_list["<CONFIG_PATH>"] = config_dict.get(
            "CONFIG_DIRECTORY", os.getcwd()
        )
    num_cpus = config_dict.get("NUM_CPU")
    if num_cpus is None and "DATA_FILE" in config_dict:
        num_cpus = get_num_cpu_from_data_file(config_dict.get("DATA_FILE"))
    if num_cpus is None:
        num_cpus = 1
    subst_list["<NUM_CPU>"] = str(num_cpus)
    for key, val in config_dict.get("DATA_KW", []):
        subst_list[key] = val
    return subst_list