def METHOD_NAME(user_config):
    if "version" in user_config["general"]:
        version = str(user_config["general"]["version"])
    else:
        setup_name = user_config["general"]["setup_name"]
        if "version" in user_config[setup_name.replace("_standalone", "")]:
            version = str(user_config[setup_name.replace("_standalone", "")]["version"])
        else:
            version = "DEFAULT"
    config = esm_parser.ConfigSetup(
        user_config["general"]["setup_name"].replace("_standalone", ""),
        version,
        user_config,
    )
    config = add_esm_runscripts_defaults_to_config(config)
    config["computer"]["jobtype"] = config["general"]["jobtype"]
    config["general"]["experiment_dir"] = (
        config["general"]["base_dir"] + "/" + config["general"]["expid"]
    )
    # Check if the 'account' variable is needed and missing
    if config["computer"].get("accounting", False):
        if "account" not in config["general"]:
            esm_parser.user_error(
                "Missing account info",
                f"You cannot run simulations in '{config['computer']['name']}' "
                "without providing an 'account' variable in the 'general' section, whose "
                "value refers to the project where the computing resources are to be "
                "taken from. Please, add the following to your runscript:\n\n"
                "general:\n\taccount: <the_account_to_be_used>",
            )
    return config