main Subroutine

subroutine main()

Arguments

None

Calls

proc~~main~~CallsGraph proc~main main ESMF_CalendarSetDefault ESMF_CalendarSetDefault proc~main->ESMF_CalendarSetDefault ESMF_ConfigCreate ESMF_ConfigCreate proc~main->ESMF_ConfigCreate ESMF_ConfigLoadFile ESMF_ConfigLoadFile proc~main->ESMF_ConfigLoadFile ESMF_Finalize ESMF_Finalize proc~main->ESMF_Finalize ESMF_Initialize ESMF_Initialize proc~main->ESMF_Initialize ESMF_VMGet ESMF_VMGet proc~main->ESMF_VMGet none~start~3 BaseProfiler%start proc~main->none~start~3 proc~get_global_time_profiler get_global_time_profiler proc~main->proc~get_global_time_profiler proc~mapl_finalize MAPL_Finalize proc~main->proc~mapl_finalize proc~mapl_initialize MAPL_Initialize proc~main->proc~mapl_initialize proc~mapl_verify MAPL_Verify proc~main->proc~mapl_verify proc~run_component_driver run_component_driver proc~main->proc~run_component_driver

Called by

proc~~main~~CalledByGraph proc~main main program~comp_testing_driver comp_testing_driver program~comp_testing_driver->proc~main

Source Code

    subroutine main()
      integer :: status, rc, local_PET, n_PET
      type(ESMF_VM) :: vm
      character(len=ESMF_MAXSTR) :: filename
      type(ESMF_Config) :: config
      class(BaseProfiler), pointer :: t_p

      ! initialize
      call ESMF_Initialize(logKindFlag=ESMF_LOGKIND_NONE, vm=vm, _RC)
      call ESMF_VMGet(vm, localPET=local_PET, petCount=n_PET, _RC)
      call MAPL_Initialize(_RC)
      call ESMF_CalendarSetDefault(ESMF_CALKIND_GREGORIAN, _RC)
      t_p => get_global_time_profiler()
      call t_p%start('Comp_Testing_Driver.x')

      ! get rc filename and component to run
      call get_command_argument(1, filename)
      config = ESMF_ConfigCreate(_RC)
      call ESMF_ConfigLoadFile(config, filename, _RC)
      call run_component_driver(filename, _RC)

      ! finalize
      call t_p%stop('Comp_Testing_Driver.x')
      call MAPL_Finalize(_RC)
      call ESMF_Finalize (_RC)
  end subroutine main