def lower_threshold_projection(projection, thresh=1e3):
    """ 
    An ugly but effective work around to get a higher-resolution curvature
    of the great-circle paths. This is useful when plotting the great-circle
    paths in a relatively small region.
    
    Parameters
    ----------
    projection : class
        Should be one of the cartopy projection classes, e.g., 
        cartopy.crs.Mercator
        
    thresh : float
        Smaller values achieve higher resolutions. Default is 1e3
        
    
    Returns
    ------- 
    Instance of the input (`projection`) class
    
    
    Example
    -------
    proj = lower_threshold_projection(cartopy.crs.Mercator, thresh=1e3)
    
    Note that the cartopy.crs.Mercator was not initialized (i.e., there are no
    brackets after the word `Mercator`)
    """
    
    class LowerThresholdProjection(projection):
        
        @property
        def threshold(self):
            return thresh
        
    return LowerThresholdProjection()