A new numerical modelling framework called OpenSBLI is introduced. Users write their model equations in high-level Einstein notation. The code that performs the finite difference discretisation is automatically derived. Source-to-source translation targets the code towards different hardware backends. OpenSBLI is verified and validated with a suite of test cases.