MaplFramework Derived Type

type, public :: MaplFramework


Inherits

type~~maplframework~~InheritsGraph type~maplframework MaplFramework ESMF_HConfig ESMF_HConfig type~maplframework->ESMF_HConfig mapl_hconfig ESMF_VM ESMF_VM type~maplframework->ESMF_VM mapl_vm type~directoryservice DirectoryService type~maplframework->type~directoryservice directory_service type~distributedprofiler DistributedProfiler type~maplframework->type~distributedprofiler time_profiler type~mpiserver MpiServer type~maplframework->type~mpiserver o_server, i_server c_ptr c_ptr type~directoryservice->c_ptr server_dir, client_dir type~abstractdirectoryservice AbstractDirectoryService type~directoryservice->type~abstractdirectoryservice type~mpimutex MpiMutex type~directoryservice->type~mpimutex mutex type~portinfo PortInfo type~directoryservice->type~portinfo local_ports type~protocolparser ProtocolParser type~directoryservice->type~protocolparser parser type~abstractgauge AbstractGauge type~distributedprofiler->type~abstractgauge gauge type~baseprofiler BaseProfiler type~distributedprofiler->type~baseprofiler type~baseserver BaseServer type~mpiserver->type~baseserver type~meternode MeterNode type~baseprofiler->type~meternode root_node type~meternodestack MeterNodeStack type~baseprofiler->type~meternodestack stack type~abstractserver AbstractServer type~baseserver->type~abstractserver type~serverthreadvector ServerThreadVector type~baseserver->type~serverthreadvector threads type~mpimutex->c_ptr locks_ptr type~portinfo->type~baseserver server_ptr type~integermessagemap IntegerMessageMap type~protocolparser->type~integermessagemap prototypes StringInteger64Map StringInteger64Map type~abstractserver->StringInteger64Map prefetch_offset, stage_offset type~abstractdatareferencevector AbstractDataReferenceVector type~abstractserver->type~abstractdatareferencevector dataRefPtrs type~set2~5 set2 type~integermessagemap->type~set2~5 tree type~abstractmeter AbstractMeter type~meternode->type~abstractmeter meter type~abstractmeternode AbstractMeterNode type~meternode->type~abstractmeternode type~meternodevector MeterNodeVector type~meternode->type~meternodevector children type~vector_wrapper~16 vector_wrapper type~meternodestack->type~vector_wrapper~16 elements type~v_wrapper~12 v_Wrapper type~serverthreadvector->type~v_wrapper~12 elements

Type-Bound Procedures

procedure, public :: finalize

  • private subroutine finalize(this, unusable, rc)

    Arguments

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

procedure, public :: finalize_esmf

  • private subroutine finalize_esmf(this, unusable, rc)

    Arguments

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

procedure, public :: finalize_pflogger

  • private subroutine finalize_pflogger(this, unusable, rc)

    Arguments

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

procedure, public :: finalize_profiler

  • private subroutine finalize_profiler(this, unusable, rc)

    Arguments

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

procedure, public :: finalize_servers

  • private subroutine finalize_servers(this, unusable, rc)

    Arguments

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

procedure, public :: get

  • private subroutine get(this, unusable, directory_service, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplFramework), intent(in), target :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    type(DirectoryService), intent(out), optional, pointer :: directory_service
    integer, intent(out), optional :: rc

procedure, public :: initialize

  • private subroutine initialize(this, hconfig, unusable, is_model_pet, servers, mpiCommunicator, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplFramework), intent(inout) :: this
    type(ESMF_HConfig), intent(inout) :: hconfig
    class(KeywordEnforcer), intent(in), optional :: unusable
    logical, intent(out), optional :: is_model_pet
    type(ESMF_GridComp), intent(out), allocatable :: servers(:)
    integer, intent(in), optional :: mpiCommunicator
    integer, intent(out), optional :: rc

procedure, public :: initialize_esmf

  • private subroutine initialize_esmf(this, hconfig, unusable, mpiCommunicator, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplFramework), intent(inout) :: this
    type(ESMF_HConfig), intent(inout) :: hconfig
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: mpiCommunicator
    integer, intent(out), optional :: rc

procedure, public :: initialize_pflogger

  • private subroutine initialize_pflogger(this, unusable, rc)

    Arguments

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

procedure, public :: initialize_profilers

  • private subroutine initialize_profilers(this, unusable, rc)

    Arguments

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

procedure, public :: initialize_servers

  • private subroutine initialize_servers(this, unusable, is_model_pet, servers, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MaplFramework), intent(inout), target :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    logical, intent(out), optional :: is_model_pet
    type(ESMF_GridComp), intent(out), optional, allocatable :: servers(:)
    integer, intent(out), optional :: rc

procedure, public :: initialize_simple_servers

  • private subroutine initialize_simple_servers(this, unusable, rc)

    Arguments

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

procedure, public :: is_initialized

  • private function is_initialized(this)

    Arguments

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

    Return Value logical

Source Code

   type :: MaplFramework
      private
      logical :: mapl_initialized = .false.
      logical :: esmf_internally_initialized = .false.
      type(ESMF_VM) :: mapl_vm
      integer :: model_comm

      type(ESMF_HConfig) :: mapl_hconfig
      type(DirectoryService) :: directory_service
      type(MpiServer), pointer :: o_server => null()
      type(MpiServer), pointer :: i_server => null()
      type(DistributedProfiler) :: time_profiler
   contains
      procedure :: initialize
      procedure :: initialize_esmf
#ifdef BUILD_WITH_PFLOGGER
      procedure :: initialize_pflogger
#endif
      procedure :: initialize_profilers
      procedure :: initialize_servers
      procedure :: initialize_simple_servers

      procedure :: finalize
      procedure :: finalize_servers
      procedure :: finalize_profiler
      procedure :: finalize_pflogger
      procedure :: finalize_esmf
      procedure :: get
      procedure :: is_initialized
   end type MaplFramework