def METHOD_NAME(self, val):
    if not isinstance(val, list):
        if not isinstance(val, str):
            raise ValueError(f"Need list or string as input for name attr got {val}")
        spl = val.split(self._DELIM)
    else:
        spl = val
    # make sure there are no duplicate strings in the name
    spl = list(np.unique(spl))
    if len(spl) > 3:
        raise ValueError("Filter name must not exceed 3 specifications")
    reg = None
    alt_filter = None
    landsea = None
    for entry in spl:
        if entry in self.valid_regions:
            if entry in self.LAND_OCN_FILTERS:
                if landsea is not None:
                    raise ValueError("Filter name must only contain one landsea specification")
                landsea = entry
            else:
                if reg is not None:
                    raise ValueError("Only one region may be specified")
                reg = entry
        elif entry in self.valid_alt_filter_codes:
            if alt_filter is not None:
                raise ValueError("Only one altitude filter can be specified")
            alt_filter = entry
        else:
            raise ValueError(f"Invalid input for filter name {entry}")
    if reg is None:
        reg = ALL_REGION_NAME
    if alt_filter is None:
        alt_filter = "wMOUNTAINS"
    lst = [reg, alt_filter]
    if landsea is not None:
        lst.append(landsea)
    return f"{self._DELIM}".join(lst)