subroutine init_optimisation_config(optim, optimisation_config_in)
use file_utils, only: open_output_file
use mp, only: nproc, proc0
implicit none
type(optimisation_type), intent(inout) :: optim
type(optimisation_config_type), intent(in), optional :: optimisation_config_in
if(initialized) return
initialized = .true.
call read_parameters(optim, optimisation_config_in)
if(optim%on) then
if (proc0) call open_output_file(optim%outunit, '.optim')
end if
optim%nproc_max = nproc
end subroutine init_optimisation_config