def METHOD_NAME(cls, config_dict: ConfigDict) -> "ModelConfig":
    return cls(
        num_realizations=config_dict.get(ConfigKeys.NUM_REALIZATIONS, 1),
        history_source=HistorySource[
            str(config_dict.get(ConfigKeys.HISTORY_SOURCE))
        ]
        if ConfigKeys.HISTORY_SOURCE in config_dict
        else DEFAULT_HISTORY_SOURCE,
        runpath_format_string=config_dict.get(ConfigKeys.RUNPATH, DEFAULT_RUNPATH),
        jobname_format_string=config_dict.get(
            ConfigKeys.JOBNAME,
            config_dict.get(ConfigKeys.ECLBASE, DEFAULT_JOBNAME_FORMAT),
        ),
        eclbase_format_string=config_dict.get(
            ConfigKeys.ECLBASE,
            config_dict.get(ConfigKeys.JOBNAME, DEFAULT_ECLBASE_FORMAT),
        ),
        gen_kw_export_name=config_dict.get(
            ConfigKeys.GEN_KW_EXPORT_NAME, DEFAULT_GEN_KW_EXPORT_NAME
        ),
        obs_config_file=config_dict.get(ConfigKeys.OBS_CONFIG),
        time_map_file=config_dict.get(ConfigKeys.TIME_MAP),
    )