Dear all,

I've been trying to compile the attached code for a compressible acoustic wave, but I've been getting the following error.

How do I fix this?

Traceback (most recent call last):
  File "compressible_acoustic.py", line 118, in <module>
    solve(a == L, out)
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/solving.py", line 120, in solve
    _solve_varproblem(*args, **kwargs)
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/solving.py", line 147, in _solve_varproblem
    solver.solve()
  File "<decorator-gen-277>", line 2, in solve
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/PyOP2-0.11.0_397_g9860f8d-py2.7-linux-x86_64.egg/pyop2/profiling.py", line 203, in wrapper
    return f(*args, **kwargs)
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/variational_solver.py", line 173, in solve
    self.snes.solve(None, v)
  File "PETSc/SNES.pyx", line 520, in petsc4py.PETSc.SNES.solve (src/petsc4py.PETSc.c:169677)
  File "PETSc/petscsnes.pxi", line 253, in petsc4py.PETSc.SNES_Function (src/petsc4py.PETSc.c:33478)
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/solving_utils.py", line 187, in form_function
    nest=problem._nest)
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/assemble.py", line 68, in assemble
    inverse=inverse, nest=nest)
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/assemble.py", line 101, in _assemble
    inverse=inverse)
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/ffc_interface.py", line 279, in compile_form
    ffc_kernel = FFCKernel(f, name + str(i) + str(j), parameters)
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/PyOP2-0.11.0_397_g9860f8d-py2.7-linux-x86_64.egg/pyop2/caching.py", line 203, in __new__
    obj = make_obj()
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/PyOP2-0.11.0_397_g9860f8d-py2.7-linux-x86_64.egg/pyop2/caching.py", line 193, in make_obj
    obj.__init__(*args, **kwargs)
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/firedrake/ffc_interface.py", line 188, in __init__
    ffc_tree = ffc_compile_form(form, prefix=name, parameters=parameters)
  File "build/bdist.linux-x86_64/egg/ffc/compiler.py", line 159, in compile_form
  File "build/bdist.linux-x86_64/egg/ffc/representation.py", line 108, in compute_ir
  File "build/bdist.linux-x86_64/egg/ffc/representation.py", line 351, in _compute_integral_ir
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturerepresentation.py", line 95, in compute_integral_ir
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturerepresentation.py", line 191, in _transform_integrals_by_type
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturerepresentation.py", line 223, in _transform_integrals
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py", line 772, in generate_terms
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 103, in visit
    r = h(o, *[self.visit(op) for op in o.ufl_operands])
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 103, in visit
    r = h(o, *[self.visit(op) for op in o.ufl_operands])
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 103, in visit
    r = h(o, *[self.visit(op) for op in o.ufl_operands])
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 103, in visit
    r = h(o, *[self.visit(op) for op in o.ufl_operands])
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 103, in visit
    r = h(o, *[self.visit(op) for op in o.ufl_operands])
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 107, in visit
    r = h(o)
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py", line 548, in index_sum
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 103, in visit
    r = h(o, *[self.visit(op) for op in o.ufl_operands])
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 107, in visit
    r = h(o)
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py", line 511, in indexed
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 103, in visit
    r = h(o, *[self.visit(op) for op in o.ufl_operands])
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 107, in visit
    r = h(o)
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py", line 724, in component_tensor
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 103, in visit
    r = h(o, *[self.visit(op) for op in o.ufl_operands])
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 107, in visit
    r = h(o)
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py", line 511, in indexed
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 107, in visit
    r = h(o)
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py", line 668, in negative_restricted
  File "/home/cserv1_a/apps/install/firedrake/0.12.0/lib64/python2.7/site-packages/ufl/algorithms/transformer.py", line 107, in visit
    r = h(o)
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py", line 474, in coefficient
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/optimisedquadraturetransformer.py", line 558, in create_function
  File "build/bdist.linux-x86_64/egg/ffc/quadrature/quadraturetransformerbase.py", line 1290, in _create_function_name
UnboundLocalError: local variable 'loop_index' referenced before assignment