NamedComponent Derived Type

type, public, extends(MaplGenericComponent) :: NamedComponent


Inherits

type~~namedcomponent~~InheritsGraph type~namedcomponent NamedComponent type~maplgenericcomponent MaplGenericComponent type~namedcomponent->type~maplgenericcomponent ESMF_GridComp ESMF_GridComp type~maplgenericcomponent->ESMF_GridComp gridcomp ESMF_State ESMF_State type~maplgenericcomponent->ESMF_State import_state, export_state, internal_state type~baseframeworkcomponent BaseFrameworkComponent type~maplgenericcomponent->type~baseframeworkcomponent type~entrypointvector entryPointVector type~maplgenericcomponent->type~entrypointvector run_entry_points type~subcomponent SubComponent type~maplgenericcomponent->type~subcomponent subcomponents type~abstractcomponent AbstractComponent type~baseframeworkcomponent->type~abstractcomponent component type~componentspecification ComponentSpecification type~baseframeworkcomponent->type~componentspecification component_spec type~compositecomponent CompositeComponent type~baseframeworkcomponent->type~compositecomponent type~maplgrid MaplGrid type~baseframeworkcomponent->type~maplgrid grid type~vector_wrapper~7 vector_wrapper type~entrypointvector->type~vector_wrapper~7 elements type~subcomponent->ESMF_GridComp gridcomp type~subcomponent->ESMF_State internal_state, import_state, export_state type~subcomponent->type~maplgrid grid type~statespecification StateSpecification type~componentspecification->type~statespecification import, export, internal, forcing type~abstractframeworkcomponent AbstractFrameworkComponent type~compositecomponent->type~abstractframeworkcomponent type~concretecomposite ConcreteComposite type~compositecomponent->type~concretecomposite composite ESMF_DELayout ESMF_DELayout type~maplgrid->ESMF_DELayout LAYOUT ESMF_Grid ESMF_Grid type~maplgrid->ESMF_Grid ESMFGRID type~runentrypoint runEntryPoint type~vector_wrapper~7->type~runentrypoint item

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name
logical, public :: threading_active = .FALSE.
logical, public :: use_threads = .FALSE.
type(ESMF_GridComp), public :: gridcomp
type(ESMF_State), public :: export_state
type(ESMF_State), public :: import_state
type(ESMF_State), public :: internal_state
class(AbstractComponent), public, allocatable :: component
type(ComponentSpecification), public :: component_spec
class(ConcreteComposite), public, pointer :: composite => null()
type(MaplGrid), public :: grid
type(SubComponent), public, allocatable :: subcomponents(:)
type(entryPointVector), public :: run_entry_points

Type-Bound Procedures

procedure, public :: activate_threading

  • private recursive subroutine activate_threading(this, num_threads, unusable, rc)

    Arguments

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

procedure, public :: add_child

procedure, public :: add_child_component

  • private function add_child_component(this, name, user_component) result(child)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(inout), target :: this
    character(len=*), intent(in) :: name
    class(AbstractComponent), intent(in) :: user_component

    Return Value class(AbstractFrameworkComponent), pointer

procedure, public :: create_subobjects

  • private subroutine create_subobjects(this, num_threads, unusable, rc)

    Arguments

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

procedure, public :: deactivate_threading

  • private recursive subroutine deactivate_threading(this, unusable, rc)

    Arguments

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

procedure, public :: finalize => stub

  • private subroutine stub(this, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(inout) :: this
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: finalize_child => stub_child

  • private subroutine stub_child(this, name, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(inout) :: this
    character(len=*), intent(in) :: name
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

generic, public :: get_child => get_child_by_name, get_child_by_index

  • private function get_child_by_name(this, name) result(child)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(in) :: this
    character(len=*), intent(in) :: name

    Return Value class(AbstractFrameworkComponent), pointer

  • private function get_child_by_index(this, i) result(child)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(in) :: this
    integer, intent(in) :: i

    Return Value class(AbstractFrameworkComponent), pointer

procedure, public :: get_child_by_index

  • private function get_child_by_index(this, i) result(child)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(in) :: this
    integer, intent(in) :: i

    Return Value class(AbstractFrameworkComponent), pointer

procedure, public :: get_child_by_name

  • private function get_child_by_name(this, name) result(child)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(in) :: this
    character(len=*), intent(in) :: name

    Return Value class(AbstractFrameworkComponent), pointer

procedure, public :: get_component

  • private function get_component(this) result(component)

    Arguments

    Type IntentOptional Attributes Name
    class(BaseFrameworkComponent), intent(in), target :: this

    Return Value class(AbstractComponent), pointer

procedure, public :: get_composite

  • private function get_composite(this) result(composite)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(in), target :: this

    Return Value class(AbstractComposite), pointer

procedure, public :: get_export_state

  • private function get_export_state(this) result(export_state)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(in), target :: this

    Return Value type(ESMF_State), pointer

procedure, public :: get_grid

  • public function get_grid(this) result(grid)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(in), target :: this

    Return Value type(MaplGrid), pointer

procedure, public :: get_gridcomp

  • private function get_gridcomp(this) result(gridcomp)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(in), target :: this

    Return Value type(ESMF_GridComp), pointer

procedure, public :: get_import_state

  • private function get_import_state(this) result(import_state)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(in), target :: this

    Return Value type(ESMF_State), pointer

procedure, public :: get_internal_state

  • private function get_internal_state(this) result(internal_state)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(in), target :: this

    Return Value type(ESMF_State), pointer

procedure, public :: get_logger

  • private function get_logger(this) result(lgr)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(in) :: this

    Return Value class(Logger), pointer

procedure, public :: get_num_children

  • private function get_num_children(this) result(num_children)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(in) :: this

    Return Value integer

procedure, public :: get_parent

procedure, public :: get_use_threads

  • private function get_use_threads(this) result(use_threads)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(in) :: this

    Return Value logical

procedure, public :: initialize => stub

  • private subroutine stub(this, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(inout) :: this
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: initialize_child => stub_child

  • private subroutine stub_child(this, name, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(inout) :: this
    character(len=*), intent(in) :: name
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: is_threading_active

  • private function is_threading_active(this) result(threading_active)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(in) :: this

    Return Value logical

procedure, public :: run => stub

  • private subroutine stub(this, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(inout) :: this
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: run_child => stub_child

  • private subroutine stub_child(this, name, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(inout) :: this
    character(len=*), intent(in) :: name
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: set_component

  • private subroutine set_component(this, component)

    Arguments

    Type IntentOptional Attributes Name
    class(BaseFrameworkComponent), intent(inout), target :: this
    class(AbstractComponent), intent(in) :: component

procedure, public :: set_composite

  • private subroutine set_composite(this, composite)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(inout) :: this
    class(AbstractComposite), intent(in), target :: composite

procedure, public :: set_logger

  • private subroutine set_logger(this, lgr)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(inout) :: this
    class(Logger), target :: lgr

procedure, public :: set_use_threads

  • private subroutine set_use_threads(this, use_threads)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplGenericComponent), intent(inout) :: this
    logical, intent(in) :: use_threads

Source Code

   type, extends(MaplGenericComponent) :: NamedComponent
      character(:), allocatable :: name
   end type NamedComponent