read_output_settings_standard Subroutine

subroutine read_output_settings_standard(self, json)

Arguments

Type IntentOptional Attributes Name
class(type_input), intent(inout) :: self
type(json_file), intent(inout) :: json

Calls

proc~~read_output_settings_standard~~CallsGraph proc~read_output_settings_standard read_output_settings_standard destroy destroy proc~read_output_settings_standard->destroy get get proc~read_output_settings_standard->get print_error_message print_error_message proc~read_output_settings_standard->print_error_message proc~error_message error_message proc~read_output_settings_standard->proc~error_message proc~join join proc~read_output_settings_standard->proc~join log_error log_error proc~error_message->log_error

Called by

proc~~read_output_settings_standard~~CalledByGraph proc~read_output_settings_standard read_output_settings_standard proc~inout_read_output_settings inout_read_output_settings proc~inout_read_output_settings->proc~read_output_settings_standard interface~inout_read_output_settings type_input%inout_read_output_settings interface~inout_read_output_settings->proc~inout_read_output_settings proc~initialize_type_input type_input%initialize_type_input proc~initialize_type_input->interface~inout_read_output_settings

Source Code

    subroutine read_output_settings_standard(self, json)
        implicit none
        class(type_input), intent(inout) :: self
        type(json_file), intent(inout) :: json

        character(:), allocatable :: key
        logical :: found

        key = join([standard_output, print_progress])
        call json%get(key, self%output_settings%standard_output%print_progress, found)
        call json%print_error_message(output_unit)
        if (.not. found) then
            self%output_settings%standard_output%print_progress = .false.
        end if

        key = join([standard_output, print_interval, unit])
        call json%get(key, self%output_settings%standard_output%print_progress_unit, found)
        call json%print_error_message(output_unit)
        if (.not. found) then
            call json%destroy()
            call error_message(904, c_opt=key)
        else if (.not. any(valid_units(:) == self%output_settings%standard_output%print_progress_unit)) then
            call json%destroy()
            call error_message(905, c_opt=key)
        end if

        key = join([standard_output, print_interval, value])
        call json%get(key, self%output_settings%standard_output%print_progress_interval, found)
        call json%print_error_message(output_unit)
        if (.not. found) then
            call json%destroy()
            call error_message(904, c_opt=key)
        else if (self%output_settings%standard_output%print_progress_interval <= 0) then
            call json%destroy()
            call error_message(905, c_opt=key)
        end if

    end subroutine read_output_settings_standard