def metric(parameters = numpy.array([])):
    n = numpy.size(tout)
    y = numpy.zeros((NEQ+1)*n)
    result = solve(t,bp,bp_coef,tiltangle,tiltangle_coef,respiration,respiration_coef,tout,y,parameters)
    if result==0:
        hr = y[11*n:12*n]
        return numpy.linalg.norm(hr,2)
    else:
        print 'ignoring this result'
        return 0
[10, 60],         # hm
[90, 200]]         # hM
)

#p_interval = numpy.empty_like(p_interval)
#for i in xrange(len(p)):
    #p_interval[i][0] = .99*p[i]
    #p_interval[i][1] = p[i]

npars  = len(p)
sobolgenerators = numpy.array([])
for i in xrange(npars):
    sobolgenerators=numpy.append(sobolgenerators,unif)

# Solve model
solve(t,bp,bp_coef,tiltangle,tiltangle_coef,respiration,respiration_coef,tout,y,p)

#[Si, STi] = sobol_weirs(5000,sobolgenerators,p_interval,metric)


p0 = p[0]
k = p[1]
Am0 = p[2]
wall_strain = (1.0-numpy.sqrt((p0**k +bp**k)/(p0**k + Am0*bp**k)))

y0 = y[:n]              # Strain of both components in visco wall]
y1 = y[n:2*n]           # Strain of both components in visco wall

s1 = p[7]
s2 = p[8]
firing = s1*(numpy.lib.function_base.interp(tout,t,wall_strain)-y0)+s2;