Other parts of the code
Not too difficult to parallelise, but use of Fortran 90 array syntax requires some care. For example, the initialisation statements:
(where tensor is a 3D array, and all the rest are vectors) were all parallelised, but as separate loops ñ no loop fusion
If a single DO loop is used a single parallel loop is generated, reducing parallelisation overheads.