init_generic Subroutine

private subroutine init_generic(self, name, requires_index, index)

Fully initialise the config object

Type Bound

abstract_config_type

Arguments

Type IntentOptional Attributes Name
class(abstract_config_type), intent(inout) :: self
character(len=*), intent(in), optional :: name
logical, intent(in), optional :: requires_index
integer, intent(in), optional :: index

Contents

Source Code


Source Code

  subroutine init_generic(self, name, requires_index, index)
    implicit none
    class(abstract_config_type), intent(inout) :: self
    character(len = *), intent(in), optional :: name
    logical, intent(in), optional :: requires_index
    integer, intent(in), optional :: index
    if (self%is_initialised()) return
    call self%set_smart_defaults
    call self%setup(name, requires_index, index)
    if (.not.self%skip_read) call self%read()
    if (.not.self%skip_broadcast) call self%broadcast()
    self%initialised = .true.
  end subroutine init_generic