omp parallel for private(i,j,k,tmp)

def run(xmin, ymin, xmax, ymax, step, range_, range_x, range_y, t):
    pt = numpy.zeros((range_x, range_y))
    "omp parallel for private(i,j,k,tmp)"
    for i in xrange(range_x):
        for j in xrange(range_y):
            xi, yj = xmin+step*i, ymin+step*j
            for k in xrange(t.shape[0]):
                tmp = 6368.* math.acos( math.cos(xi)*math.cos( t[k,0] ) * math.cos((yj)-t[k,1])+  math.sin(xi)*math.sin(t[k,0]))
                if tmp < range_:
                    pt[i,j]+=t[k,2] / (1+tmp)
    return pt