MAPL_CapOptions Derived Type

type, public :: MAPL_CapOptions


Inherits

type~~mapl_capoptions~~InheritsGraph type~mapl_capoptions MAPL_CapOptions ESMF_LogKind_Flag ESMF_LogKind_Flag type~mapl_capoptions->ESMF_LogKind_Flag esmf_logging_mode

Inherited by

type~~mapl_capoptions~~InheritedByGraph type~mapl_capoptions MAPL_CapOptions type~extdatadriver ExtDataDriver type~extdatadriver->type~mapl_capoptions cap_options type~mapl_cap MAPL_Cap type~mapl_cap->type~mapl_capoptions cap_options

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: cap_rc_file
character(len=:), public, allocatable :: egress_file
character(len=:), public, allocatable :: ensemble_subdir_prefix
character(len=:), public, allocatable :: logging_config
character(len=:), public, allocatable :: oserver_type
character(len=:), public, allocatable :: root_dso
integer, public :: comm
integer, public :: n_iserver_group = 1
integer, public :: n_members = 1
integer, public :: n_oserver_group = 1
integer, public, allocatable :: nodes_input_server(:)
integer, public, allocatable :: nodes_output_server(:)
integer, public :: npes_backend_pernode = 0
integer, public, allocatable :: npes_input_server(:)
integer, public :: npes_model = -1
integer, public, allocatable :: npes_output_server(:)
logical, public :: fast_oclient = .false.
logical, public :: isolate_nodes = .true.
logical, public :: use_comm_world = .true.
logical, public :: with_esmf_moab = .false.
logical, public :: with_io_profiler = .false.
type(ESMF_LogKind_Flag), public :: esmf_logging_mode = ESMF_LOGKIND_NONE

Constructor

public interface MAPL_CapOptions

  • private function new_CapOptions(unusable, cap_rc_file, egress_file, ensemble_subdir_prefix, esmf_logging_mode, rc) result(cap_options)

    Arguments

    Type IntentOptional Attributes Name
    class(KeywordEnforcer), intent(in), optional :: unusable
    character(len=*), intent(in), optional :: cap_rc_file
    character(len=*), intent(in), optional :: egress_file
    character(len=*), intent(in), optional :: ensemble_subdir_prefix
    type(ESMF_LogKind_Flag), intent(in), optional :: esmf_logging_mode
    integer, intent(out), optional :: rc

    Return Value type(MAPL_CapOptions)

  • private function new_CapOptions_copy(options) result(copy)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_CapOptions), intent(in) :: options

    Return Value type(MAPL_CapOptions)


Source Code

   type :: MAPL_CapOptions

      integer :: comm
      logical :: use_comm_world = .true.
      character(:), allocatable :: egress_file
      character(:), allocatable :: cap_rc_file
      character(:), allocatable :: root_dso
      type (ESMF_LogKind_Flag) :: esmf_logging_mode = ESMF_LOGKIND_NONE
      integer :: npes_model = -1
      ! only one of the next two options can have nonzero values
      integer, allocatable :: npes_input_server(:)
      integer, allocatable :: nodes_input_server(:)
      ! only one of the next two options can have nonzero values
      integer, allocatable :: npes_output_server(:)
      integer, allocatable :: nodes_output_server(:)
      ! whether or not the nodes are padding with idle when mod(model total npes , each node npes) /=0
      logical              :: isolate_nodes = .true.
      ! whether or not copy the data before isend to the oserver
      ! it is faster but demands more memory if it is true
      logical              :: fast_oclient  = .false.
      ! whether or not turn on the io profiler
      logical              :: with_io_profiler = .false.
      ! whether or not to use MOAB in ESMF
      logical              :: with_esmf_moab = .false.
      ! server groups
      integer :: n_iserver_group = 1
      integer :: n_oserver_group = 1
      ! ensemble options
      integer :: n_members = 1
      character(:), allocatable :: ensemble_subdir_prefix
      ! logging options
      character(:), allocatable :: logging_config
      character(:), allocatable :: oserver_type
      integer :: npes_backend_pernode = 0

   end type MAPL_CapOptions