finalize Subroutine

public subroutine finalize(unusable, rc)

Uses

  • proc~~finalize~8~~UsesGraph proc~finalize~8 ExtData_DriverGridComp%finalize module~mapl_errorhandlingmod mapl_ErrorHandlingMod proc~finalize~8->module~mapl_errorhandlingmod module~mapl_keywordenforcermod mapl_KeywordEnforcerMod proc~finalize~8->module~mapl_keywordenforcermod module~mapl_errorhandling mapl_ErrorHandling module~mapl_errorhandlingmod->module~mapl_errorhandling module~mapl_keywordenforcer mapl_KeywordEnforcer module~mapl_keywordenforcermod->module~mapl_keywordenforcer module~mapl_throwmod MAPL_ThrowMod module~mapl_errorhandling->module~mapl_throwmod mpi mpi module~mapl_errorhandling->mpi

Type Bound

ExtData_DriverGridComp

Arguments

Type IntentOptional Attributes Name
class(KeywordEnforcer), intent(in), optional :: unusable
integer, intent(out), optional :: rc

Calls

proc~~finalize~8~~CallsGraph proc~finalize~8 ExtData_DriverGridComp%finalize proc~get_global_memory_profiler get_global_memory_profiler proc~finalize~8->proc~get_global_memory_profiler proc~get_global_time_profiler get_global_time_profiler proc~finalize~8->proc~get_global_time_profiler proc~mapl_return MAPL_Return proc~finalize~8->proc~mapl_return proc~mapl_verify MAPL_Verify proc~finalize~8->proc~mapl_verify proc~report_global_profiler report_global_profiler proc~finalize~8->proc~report_global_profiler at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception proc~report_global_profiler->proc~get_global_memory_profiler proc~report_global_profiler->proc~get_global_time_profiler proc~report_global_profiler->proc~mapl_return proc~report_global_profiler->proc~mapl_verify mpi_barrier mpi_barrier proc~report_global_profiler->mpi_barrier mpi_comm_rank mpi_comm_rank proc~report_global_profiler->mpi_comm_rank mpi_comm_size mpi_comm_size proc~report_global_profiler->mpi_comm_size none~add_column MultiColumn%add_column proc~report_global_profiler->none~add_column none~generate_report ProfileReporter%generate_report proc~report_global_profiler->none~generate_report none~get_num_meters~2 BaseProfiler%get_num_meters proc~report_global_profiler->none~get_num_meters~2 none~info~5 Logger%info proc~report_global_profiler->none~info~5 get_num_rows_header get_num_rows_header none~add_column->get_num_rows_header none~get_num_rows_separator TextColumn%get_num_rows_separator none~add_column->none~get_num_rows_separator none~get_width TextColumn%get_width none~add_column->none~get_width none~push_back~81 TextColumnVector%push_back none~add_column->none~push_back~81 none~set_width TextColumn%set_width none~add_column->none~set_width none~generate_report_profiler ProfileReporter%generate_report_profiler none~generate_report->none~generate_report_profiler none~get_num_nodes MeterNode%get_num_nodes none~get_num_meters~2->none~get_num_nodes none~generate_report_profiler->none~get_width none~get_header~2 MultiColumn%get_header none~generate_report_profiler->none~get_header~2 none~get_root_node~2 BaseProfiler%get_root_node none~generate_report_profiler->none~get_root_node~2 none~get_rows~2 MultiColumn%get_rows none~generate_report_profiler->none~get_rows~2 get_num_nodes get_num_nodes none~get_num_nodes->get_num_nodes none~begin~283 MeterNodeVector%begin none~get_num_nodes->none~begin~283 none~get~189 MeterNodeVectorIterator%get none~get_num_nodes->none~get~189 none~next~174 MeterNodeVectorIterator%next none~get_num_nodes->none~next~174 none~capacity~481 TextColumnVector%capacity none~push_back~81->none~capacity~481 none~resize~162 TextColumnVector%resize none~push_back~81->none~resize~162

Called by

proc~~finalize~8~~CalledByGraph proc~finalize~8 ExtData_DriverGridComp%finalize proc~run~18 ExtDataDriver%run proc~run~18->proc~finalize~8 program~extdata_driver ExtData_Driver program~extdata_driver->proc~run~18

Source Code

   subroutine finalize(unusable, rc)
      use mapl_KeywordEnforcerMod
      use mapl_ErrorHandlingMod
      class(KeywordEnforcer), optional, intent(in) :: unusable
      integer, optional, intent(out) :: rc

      class(DistributedProfiler), pointer :: t_p, m_p

      integer :: status

      t_p => get_global_time_profiler()
      call t_p%stop(_RC)
      m_p => get_global_memory_profiler()
      call m_p%stop(_RC)

      call report_global_profiler()

      _RETURN(_SUCCESS)
      _UNUSED_DUMMY(unusable)

   end subroutine finalize