MAPL_run_driver Subroutine

public subroutine MAPL_run_driver(hconfig, is_model_pet, unusable, servers, rc)

Uses

  • proc~~mapl_run_driver~~UsesGraph proc~mapl_run_driver MAPL_run_driver module~mapl_applicationsupport MAPL_ApplicationSupport proc~mapl_run_driver->module~mapl_applicationsupport module~mapl_errorhandlingmod mapl_ErrorHandlingMod module~mapl_applicationsupport->module~mapl_errorhandlingmod module~mapl_keywordenforcermod mapl_KeywordEnforcerMod module~mapl_applicationsupport->module~mapl_keywordenforcermod module~mapl_profiler mapl_Profiler module~mapl_applicationsupport->module~mapl_profiler module~pflogger pflogger module~mapl_applicationsupport->module~pflogger mpi mpi module~mapl_applicationsupport->mpi

Arguments

Type IntentOptional Attributes Name
type(ESMF_HConfig), intent(inout) :: hconfig
logical, intent(in) :: is_model_pet
class(KeywordEnforcer), intent(in), optional :: unusable
type(ESMF_GridComp), intent(in), optional :: servers(:)
integer, intent(out), optional :: rc

Calls

proc~~mapl_run_driver~~CallsGraph proc~mapl_run_driver MAPL_run_driver ESMF_CalendarSetDefault ESMF_CalendarSetDefault proc~mapl_run_driver->ESMF_CalendarSetDefault ESMF_ClockCreate ESMF_ClockCreate proc~mapl_run_driver->ESMF_ClockCreate ESMF_ClockGet ESMF_ClockGet proc~mapl_run_driver->ESMF_ClockGet ESMF_TimePrint ESMF_TimePrint proc~mapl_run_driver->ESMF_TimePrint ESMF_TimeSet ESMF_TimeSet proc~mapl_run_driver->ESMF_TimeSet ESMF_VMGet ESMF_VMGet proc~mapl_run_driver->ESMF_VMGet ESMF_VMGetCurrent ESMF_VMGetCurrent proc~mapl_run_driver->ESMF_VMGetCurrent esmf_gridcompsetservices esmf_gridcompsetservices proc~mapl_run_driver->esmf_gridcompsetservices esmf_hconfigasstring esmf_hconfigasstring proc~mapl_run_driver->esmf_hconfigasstring esmf_hconfigcreateat esmf_hconfigcreateat proc~mapl_run_driver->esmf_hconfigcreateat interface~create_grid_comp create_grid_comp proc~mapl_run_driver->interface~create_grid_comp interface~user_setservices user_setservices proc~mapl_run_driver->interface~user_setservices mpi_allgather mpi_allgather proc~mapl_run_driver->mpi_allgather none~clock_advance~2 GriddedComponentDriver%clock_advance proc~mapl_run_driver->none~clock_advance~2 none~finalize~13 GriddedComponentDriver%finalize proc~mapl_run_driver->none~finalize~13 none~get_clock GriddedComponentDriver%get_clock proc~mapl_run_driver->none~get_clock none~read_restart~2 GriddedComponentDriver%read_restart proc~mapl_run_driver->none~read_restart~2 none~run~17 GriddedComponentDriver%run proc~mapl_run_driver->none~run~17 none~write_restart~2 GriddedComponentDriver%write_restart proc~mapl_run_driver->none~write_restart~2 proc~hconfig_to_esmf_timeinterval hconfig_to_esmf_timeinterval proc~mapl_run_driver->proc~hconfig_to_esmf_timeinterval proc~initialize_phases initialize_phases proc~mapl_run_driver->proc~initialize_phases proc~mapl_return MAPL_Return proc~mapl_run_driver->proc~mapl_return proc~mapl_verify MAPL_Verify proc~mapl_run_driver->proc~mapl_verify proc~hconfig_to_esmf_timeinterval->esmf_hconfigasstring proc~hconfig_to_esmf_timeinterval->proc~mapl_return proc~hconfig_to_esmf_timeinterval->proc~mapl_verify proc~string_to_esmf_timeinterval string_to_esmf_timeinterval proc~hconfig_to_esmf_timeinterval->proc~string_to_esmf_timeinterval proc~initialize_phases->proc~mapl_return proc~initialize_phases->proc~mapl_verify initialize initialize proc~initialize_phases->initialize 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~string_to_esmf_timeinterval->proc~mapl_return proc~string_to_esmf_timeinterval->proc~mapl_verify ESMF_TimeIntervalSet ESMF_TimeIntervalSet proc~string_to_esmf_timeinterval->ESMF_TimeIntervalSet interface~mapl_assert MAPL_Assert proc~string_to_esmf_timeinterval->interface~mapl_assert

Called by

proc~~mapl_run_driver~~CalledByGraph proc~mapl_run_driver MAPL_run_driver proc~run_geos run_geos proc~run_geos->proc~mapl_run_driver program~geos geos program~geos->proc~run_geos

Source Code

   subroutine MAPL_run_driver(hconfig, is_model_pet, unusable, servers, rc)
      USE MAPL_ApplicationSupport
      type(ESMF_HConfig), intent(inout) :: hconfig
      logical, intent(in) :: is_model_pet
      class(KeywordEnforcer), optional, intent(in) :: unusable
      type(ESMF_GridComp), optional, intent(in) :: servers(:)
      integer, optional, intent(out) :: rc

      type(GriddedComponentDriver) :: driver
      integer :: status

      driver = make_driver(hconfig, is_model_pet, _RC)

      if (is_model_pet) then
         call initialize_phases(driver, phases=GENERIC_INIT_PHASE_SEQUENCE, _RC)
         call driver%read_restart(_RC)
         call integrate(driver, _RC)
         call driver%write_restart(_RC)
         call driver%finalize(_RC)
      end if

      _RETURN(_SUCCESS)
      _UNUSED_DUMMY(unusable)
   end subroutine MAPL_run_driver