InnerMetaComponent Derived Type

type, public :: InnerMetaComponent


Inherits

type~~innermetacomponent~~InheritsGraph type~innermetacomponent InnerMetaComponent ESMF_GridComp ESMF_GridComp type~innermetacomponent->ESMF_GridComp outer_gc, self_gc type~genericgrid GenericGrid type~innermetacomponent->type~genericgrid generic_grid ESMF_Grid ESMF_Grid type~genericgrid->ESMF_Grid grid ESMF_LocStream ESMF_LocStream type~genericgrid->ESMF_LocStream locstream

Inherited by

type~~innermetacomponent~~InheritedByGraph type~innermetacomponent InnerMetaComponent type~outermetacomponent OuterMetaComponent type~outermetacomponent->type~innermetacomponent inner_meta

Constructor

public interface InnerMetaComponent

  • private function new_InnerMetaComponent(self_gc, outer_gc) result(meta)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_GridComp), intent(in) :: self_gc
    type(ESMF_GridComp), intent(in) :: outer_gc

    Return Value type(InnerMetaComponent)


Type-Bound Procedures

procedure, public :: get_outer_gridcomp

  • private function get_outer_gridcomp(this) result(gc)

    Arguments

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

    Return Value type(ESMF_GridComp)

Source Code

   type :: InnerMetaComponent
      private
      type(ESMF_GridComp) :: outer_gc

      character(len=:), allocatable :: name
      type(ESMF_GridComp) :: self_gc ! mabye not needed?

      type(GenericGrid) :: generic_grid ! maybe should go to outer meta?

      real :: heartbeat
!!$      type(MAPL_SunOrbit) :: orbit
!!$      type(AlarmVector) :: alarms
!!$      type(DistributedProfiler) :: t_profiler
!!$      type(MaplGrid) :: grid

!!$      class(Logger), pointer :: lgr   ! Full compname:  "GCM.AGCM...."
   contains

      procedure :: get_outer_gridcomp
      
   end type InnerMetaComponent