make sure that the initialization functions can only be called once

starting omp cleanup -> needs to be brought to fortran to avoid problems
with clang