<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def search_location_check(cls, location):
 """Core.Client.request_search location parameter should be a dictionary that contains lat, lon and radius floats """

        if not (isinstance(location, Mapping) and set(location.keys()) == _LOCATION_SEARCH_ARGS):
            raise ValueError('Search location should be mapping with keys: %s' % _LOCATION_SEARCH_ARGS)

        cls.location_check(location['lat'], location['long'])
        radius = location['radius']
        if not (isinstance(radius, number_types) and 0 < radius <= 20038):  # half circumference
            raise ValueError("Radius: '{radius}' is invalid".format(radius=radius))