run_import_couplers.F90 Source File


This file depends on

sourcefile~~run_import_couplers.f90~~EfferentGraph sourcefile~run_import_couplers.f90 run_import_couplers.F90 sourcefile~couplerphases.f90 CouplerPhases.F90 sourcefile~run_import_couplers.f90->sourcefile~couplerphases.f90 sourcefile~errorhandling.f90 ErrorHandling.F90 sourcefile~run_import_couplers.f90->sourcefile~errorhandling.f90 sourcefile~griddedcomponentdriver.f90 GriddedComponentDriver.F90 sourcefile~run_import_couplers.f90->sourcefile~griddedcomponentdriver.f90 sourcefile~methodphasesmap.f90 MethodPhasesMap.F90 sourcefile~run_import_couplers.f90->sourcefile~methodphasesmap.f90 sourcefile~outermetacomponent.f90 OuterMetaComponent.F90 sourcefile~run_import_couplers.f90->sourcefile~outermetacomponent.f90 sourcefile~mapl_throw.f90 MAPL_Throw.F90 sourcefile~errorhandling.f90->sourcefile~mapl_throw.f90 sourcefile~griddedcomponentdriver.f90->sourcefile~errorhandling.f90 sourcefile~componentdriver.f90 ComponentDriver.F90 sourcefile~griddedcomponentdriver.f90->sourcefile~componentdriver.f90 sourcefile~componentdrivervector.f90 ComponentDriverVector.F90 sourcefile~griddedcomponentdriver.f90->sourcefile~componentdrivervector.f90 sourcefile~keywordenforcer.f90 KeywordEnforcer.F90 sourcefile~griddedcomponentdriver.f90->sourcefile~keywordenforcer.f90 sourcefile~multistate.f90 MultiState.F90 sourcefile~griddedcomponentdriver.f90->sourcefile~multistate.f90 sourcefile~methodphasesmap.f90->sourcefile~errorhandling.f90 sourcefile~methodphasesmap.f90->sourcefile~keywordenforcer.f90 sourcefile~outermetacomponent.f90->sourcefile~errorhandling.f90 sourcefile~outermetacomponent.f90->sourcefile~griddedcomponentdriver.f90 sourcefile~outermetacomponent.f90->sourcefile~methodphasesmap.f90 sourcefile~actualptcomponentdrivermap.f90 ActualPtComponentDriverMap.F90 sourcefile~outermetacomponent.f90->sourcefile~actualptcomponentdrivermap.f90 sourcefile~actualptvector.f90 ActualPtVector.F90 sourcefile~outermetacomponent.f90->sourcefile~actualptvector.f90 sourcefile~outermetacomponent.f90->sourcefile~componentdriver.f90 sourcefile~outermetacomponent.f90->sourcefile~componentdrivervector.f90 sourcefile~componentspec.f90 ComponentSpec.F90 sourcefile~outermetacomponent.f90->sourcefile~componentspec.f90 sourcefile~connection.f90 Connection.F90 sourcefile~outermetacomponent.f90->sourcefile~connection.f90 sourcefile~connectionpt.f90 ConnectionPt.F90 sourcefile~outermetacomponent.f90->sourcefile~connectionpt.f90 sourcefile~connectionvector.f90 ConnectionVector.F90 sourcefile~outermetacomponent.f90->sourcefile~connectionvector.f90 sourcefile~esmf_interfaces.f90 ESMF_Interfaces.F90 sourcefile~outermetacomponent.f90->sourcefile~esmf_interfaces.f90 sourcefile~geom_mgr.f90 geom_mgr.F90 sourcefile~outermetacomponent.f90->sourcefile~geom_mgr.f90 sourcefile~geometryspec.f90 GeometrySpec.F90 sourcefile~outermetacomponent.f90->sourcefile~geometryspec.f90 sourcefile~griddedcomponentdrivermap.f90 GriddedComponentDriverMap.F90 sourcefile~outermetacomponent.f90->sourcefile~griddedcomponentdrivermap.f90 sourcefile~innermetacomponent.f90 InnerMetaComponent.F90 sourcefile~outermetacomponent.f90->sourcefile~innermetacomponent.f90 sourcefile~outermetacomponent.f90->sourcefile~keywordenforcer.f90 sourcefile~matchconnection.f90 MatchConnection.F90 sourcefile~outermetacomponent.f90->sourcefile~matchconnection.f90 sourcefile~outermetacomponent.f90->sourcefile~multistate.f90 sourcefile~pflogger_stub.f90 pflogger_stub.F90 sourcefile~outermetacomponent.f90->sourcefile~pflogger_stub.f90 sourcefile~stateitem.f90 StateItem.F90 sourcefile~outermetacomponent.f90->sourcefile~stateitem.f90 sourcefile~stateitemspec.f90 StateItemSpec.F90 sourcefile~outermetacomponent.f90->sourcefile~stateitemspec.f90 sourcefile~stateregistry.f90 StateRegistry.F90 sourcefile~outermetacomponent.f90->sourcefile~stateregistry.f90 sourcefile~usersetservices.f90 UserSetServices.F90 sourcefile~outermetacomponent.f90->sourcefile~usersetservices.f90 sourcefile~variablespec.f90 VariableSpec.F90 sourcefile~outermetacomponent.f90->sourcefile~variablespec.f90 sourcefile~variablespecvector.f90 VariableSpecVector.F90 sourcefile~outermetacomponent.f90->sourcefile~variablespecvector.f90 sourcefile~verticalgrid.f90 VerticalGrid.F90 sourcefile~outermetacomponent.f90->sourcefile~verticalgrid.f90 sourcefile~virtualconnectionpt.f90 VirtualConnectionPt.F90 sourcefile~outermetacomponent.f90->sourcefile~virtualconnectionpt.f90

Source Code

#include "MAPL_ErrLog.h"

submodule(mapl3g_GriddedComponentDriver) run_import_couplers_smod

   use mapl_ErrorHandling
   use mapl3g_OuterMetaComponent
   use mapl3g_MethodPhasesMapUtils
   use mapl3g_CouplerPhases, only: GENERIC_COUPLER_INVALIDATE, GENERIC_COUPLER_UPDATE

   implicit none

contains

   recursive module subroutine run_import_couplers(this, rc)
      class(GriddedComponentDriver), intent(inout) :: this
      integer, optional, intent(out) :: rc

      integer :: status
      type(ComponentDriverVectorIterator) :: iter
      class(ComponentDriver), pointer :: driver

      associate (e => this%import_couplers%ftn_end() )
        iter = this%import_couplers%ftn_begin()
        do while (iter /= e)
           call iter%next()
           driver => iter%of()
           call driver%run(phase_idx=GENERIC_COUPLER_UPDATE, _RC)
        end do
      end associate

      _RETURN(_SUCCESS)
   end subroutine run_import_couplers

end submodule run_import_couplers_smod