This function attempts to determine the base data type of a filename or other set of arguments by calling yt.lagos.StaticOutput._is_valid() until it finds a match, at which point it returns an instance of the appropriate yt.lagos.StaticOutput subclass.