  In this project, we introduce OPESCI-FD, a Python package built on symbolic
mathematics to automatically generate Finite Difference models from a
high-level description of the model equations. We investigate applying this
framework to generate the propagator program used in seismic imaging. We
implement the 3D velocity-stress FD scheme as an example and demonstrate the
advantages of usability, flexibility and accuracy of the framework. The design
of OPESCI-FD aims to allow rapid development, analysis and optimisation of
Finite Difference programs. OPESCI-FD is the foundation for continuing
development by the OPESCI project team, building on the research presented in
this report. This report concludes by reviewing the further developments that
are already under way, as well as the scope for extension to cater for other
equations and numerical schemes.
