ComponentDriver Derived Type

type, public, abstract :: ComponentDriver


Inherited by

type~~componentdriver~~InheritedByGraph type~componentdriver ComponentDriver type~componentdriverptr ComponentDriverPtr type~componentdriverptr->type~componentdriver ptr type~griddedcomponentdriver GriddedComponentDriver type~griddedcomponentdriver->type~componentdriver type~componentdrivervector ComponentDriverVector type~griddedcomponentdriver->type~componentdrivervector export_couplers, import_couplers type~vector_wrapper~22 vector_wrapper type~vector_wrapper~22->type~componentdriver item type~actualptcomponentdrivermappair ActualPtComponentDriverMapPair type~actualptcomponentdrivermappair->type~griddedcomponentdriver second type~componentdrivervector->type~vector_wrapper~22 elements type~componentdrivervectoriterator ComponentDriverVectorIterator type~componentdrivervectoriterator->type~vector_wrapper~22 elements type~griddedcomponentdriverpair GriddedComponentDriverPair type~griddedcomponentdriverpair->type~griddedcomponentdriver second type~outermetacomponent OuterMetaComponent type~outermetacomponent->type~griddedcomponentdriver user_gc_driver type~stateitemextension StateItemExtension type~stateitemextension->type~griddedcomponentdriver producer type~componentdriverptrvector ComponentDriverPtrVector type~stateitemextension->type~componentdriverptrvector consumers type~vector_wrapper~21 vector_wrapper type~vector_wrapper~21->type~componentdriverptr item type~verticalregridaction VerticalRegridAction type~verticalregridaction->type~griddedcomponentdriver v_in_coupler, v_out_coupler type~componentdriverptrvector->type~vector_wrapper~21 elements type~componentdriverptrvectoriterator ComponentDriverPtrVectorIterator type~componentdriverptrvectoriterator->type~vector_wrapper~21 elements type~couplermetacomponent CouplerMetaComponent type~couplermetacomponent->type~componentdrivervector consumers type~couplermetacomponent->type~componentdriverptrvector sources type~map_s_node~14 map_s_Node type~map_s_node~14->type~actualptcomponentdrivermappair value type~map_s_node~14->type~map_s_node~14 parent type~stateitemextensionptr StateItemExtensionPtr type~stateitemextensionptr->type~stateitemextension ptr type~vector_wrapper~24 vector_wrapper type~vector_wrapper~24->type~stateitemextension item type~vectorriterator~17 VectorRIterator type~vectorriterator~17->type~componentdrivervectoriterator iterator type~map_setiterator~14 map_SetIterator type~map_setiterator~14->type~map_s_node~14 node type~stateitemextensionvector StateItemExtensionVector type~stateitemextensionvector->type~vector_wrapper~24 elements type~stateitemextensionvectoriterator StateItemExtensionVectorIterator type~stateitemextensionvectoriterator->type~vector_wrapper~24 elements type~vector_wrapper~23 vector_wrapper type~vector_wrapper~23->type~stateitemextensionptr item type~vectorriterator~16 VectorRIterator type~vectorriterator~16->type~componentdriverptrvectoriterator iterator

Type-Bound Procedures

procedure(I_run), public, deferred :: finalize

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

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

procedure(I_run), public, deferred :: initialize

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

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

procedure(I_run), public, deferred :: read_restart

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

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

procedure(I_run), public, deferred :: run

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

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

procedure(I_run), public, deferred :: write_restart

  • recursive subroutine I_run(this, unusable, phase_idx, rc) Prototype

    Arguments

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

Source Code

   type, abstract :: ComponentDriver
      private
   contains
      procedure(I_run), deferred :: run
      procedure(I_run), deferred :: initialize
      procedure(I_run), deferred :: finalize
      procedure(I_run), deferred :: read_restart
      procedure(I_run), deferred :: write_restart
   end type ComponentDriver