def METHOD_NAME(self):
    """
    Check if specifications are correct and consistent
    Raises
    ------
    ValueError
        If one of the class attributes is invalid
    NotImplementedError
        If computation method contains more than 2 variables / datasets
    """
    if isinstance(self.vars_supported, str):
        self.vars_supported = [self.vars_supported]
    if isinstance(self.aux_merge_how, str):
        nv = len(self.vars_supported)
        self.aux_merge_how = dict(zip(self.vars_supported, [self.aux_merge_how] * nv))
    if self.aux_funs is None:
        self.aux_funs = {}
    if self.aux_units is None:
        self.aux_units = {}
    for var in self.vars_supported:
        if not var in self.aux_requires:
            raise ValueError(f"Variable {var} is not defined in attr aux_requires...")
        elif not var in self.aux_merge_how:
            raise ValueError(
                f"Missing information about how {var} should be merged (aux_merge_how)"
            )
        merge_how = self.aux_merge_how[var]
        if merge_how == "eval":
            if not var in self.aux_funs:
                raise ValueError(
                    f"Specification of computation function is missing for var {var}"
                )
            fun = self.aux_funs[var]
            if not isinstance(fun, str):
                raise ValueError("eval functions need to be strings")
        aux_info = self.aux_requires[var]
        fc = 0
        for aux_id, var_info in aux_info.items():
            if isinstance(var_info, str):
                # make sure variables are represented as list, even if
                # it is only one
                aux_info[aux_id] = var_info = [var_info]
            for _var in var_info:
                obsvar = ObsVarCombi(aux_id, _var)
                obsvarstr = str(obsvar)
                if merge_how == "eval" and not obsvarstr in fun:
                    raise ValueError(
                        f"Mismatch between aux_requires and aux_funs for variable {var}. "
                        f"No such obs;var string {obsvarstr} in computation method {fun}"
                    )
                fc += 1
                if fc > self.MAX_VARS_PER_METHOD:
                    raise NotImplementedError("So far only 2 variables can be combined...")