Fully initialise the config object
Type | Intent | Optional | 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 |
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