MultiState Derived Type

type, public :: MultiState


Inherits

type~~multistate~~InheritsGraph type~multistate MultiState ESMF_State ESMF_State type~multistate->ESMF_State internalState, importState, exportState

Inherited by

type~~multistate~~InheritedByGraph type~multistate MultiState type~griddedcomponentdriver GriddedComponentDriver type~griddedcomponentdriver->type~multistate states type~scenario Scenario type~scenario->type~multistate outer_states type~actualptcomponentdrivermappair ActualPtComponentDriverMapPair type~actualptcomponentdrivermappair->type~griddedcomponentdriver second 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~verticalregridaction VerticalRegridAction type~verticalregridaction->type~griddedcomponentdriver v_in_coupler, v_out_coupler 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~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

Components

Type Visibility Attributes Name Initial
type(ESMF_State), public :: exportState
type(ESMF_State), public :: importState
type(ESMF_State), public :: internalState

Constructor

public interface MultiState

  • private function newMultiState_user(unusable, importState, exportState, internalState) result(multi_state)

    Arguments

    Type IntentOptional Attributes Name
    class(KeywordEnforcer), intent(in), optional :: unusable
    type(ESMF_State), intent(in), optional :: importState
    type(ESMF_State), intent(in), optional :: exportState
    type(ESMF_State), intent(in), optional :: internalState

    Return Value type(MultiState)


Type-Bound Procedures

procedure, public :: destroy

  • private subroutine destroy(this, rc)

    Arguments

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

generic, public :: get_state => get_state_by_string_intent

  • private subroutine get_state_by_string_intent(this, state, state_intent, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MultiState), intent(in) :: this
    type(ESMF_State), intent(out) :: state
    character(len=*), intent(in) :: state_intent
    integer, intent(out), optional :: rc

generic, public :: get_state => get_state_by_esmf_intent

  • private subroutine get_state_by_esmf_intent(this, state, state_intent, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MultiState), intent(in) :: this
    type(ESMF_State), intent(out) :: state
    type(ESMF_StateIntent_Flag), intent(in) :: state_intent
    integer, intent(out), optional :: rc

procedure, public :: get_state_by_esmf_intent

  • private subroutine get_state_by_esmf_intent(this, state, state_intent, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MultiState), intent(in) :: this
    type(ESMF_State), intent(out) :: state
    type(ESMF_StateIntent_Flag), intent(in) :: state_intent
    integer, intent(out), optional :: rc

procedure, public :: get_state_by_string_intent

  • private subroutine get_state_by_string_intent(this, state, state_intent, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MultiState), intent(in) :: this
    type(ESMF_State), intent(out) :: state
    character(len=*), intent(in) :: state_intent
    integer, intent(out), optional :: rc

generic, public :: write(formatted) => write_multistate

  • private subroutine write_multistate(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(MultiState), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg

procedure, public :: write_multistate

  • private subroutine write_multistate(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(MultiState), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg

Source Code

   type :: MultiState
      type(ESMF_State) :: internalState
      type(ESMF_State) :: importState
      type(ESMF_State) :: exportState
   contains
      procedure :: get_state_by_string_intent
      procedure :: get_state_by_esmf_intent
      generic :: get_state => get_state_by_string_intent
      generic :: get_state => get_state_by_esmf_intent

      procedure :: write_multistate
      generic :: write(formatted) => write_multistate

      procedure :: destroy
   end type MultiState