def create_geometry(self, input_geometry, upper_depth, lower_depth):
        '''
        If geometry is defined as a numpy array then create instance of
        nhlib.geo.point.Point class, otherwise if already instance of class
        accept class

        :param input_geometry:
            Input geometry (point) as either
            i) instance of nhlib.geo.point.Point class
            ii) numpy.ndarray [Longitude, Latitude]

        :param float upper_depth:
            Upper seismogenic depth (km)

        :param float lower_depth:
            Lower seismogenic depth (km)
        '''
        self._check_seismogenic_depths(upper_depth, lower_depth)

        # Check/create the geometry class
        if not isinstance(input_geometry, Point):
            if not isinstance(input_geometry, np.ndarray):
                raise ValueError('Unrecognised or unsupported geometry '
                                 'definition')
            self.geometry = Point(input_geometry[0], input_geometry[1])
        else:
            self.geometry = input_geometry
If geometry is defined as a numpy array then create instance of
        nhlib.geo.point.Point class, otherwise if already instance of class
        accept class

        :param input_geometry:
            Input geometry (point) as either
            i) instance of nhlib.geo.point.Point class
            ii) numpy.ndarray [Longitude, Latitude]

        :param float upper_depth:
            Upper seismogenic depth (km)

        :param float lower_depth:
            Lower seismogenic depth (km)