@staticmethod
def __which_hemisphere(utm_zone):
    """
        Returns whether UTM grid zone belongs to the Northern 
        or Southern hemisphere. 

        Parameters
        ----------
        utm_zone : str
            A string representing an UTM grid zone, containing digits (1 to 60) 
            indicating the longitudinal zone followed by a character (from 'C' 
            to 'X' excluding 'O') corresponding to the latitudinal zone.
        
        Returns
        -------
        out : str
            A string indicating North or South hemisphere.

        """
    lat_zones = ['C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P',
        'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X']
    lat_zone = utm_zone[-1].upper()
    if int(utm_zone[:-1]) >= 1 and int(utm_zone[:-1]) <= 60:
        if lat_zone in lat_zones[10:]:
            return 'north'
        elif lat_zone in lat_zones[:10]:
            return 'south'
        else:
            return None
    else:
        return None
