ExtData_DriverGridComp Derived Type

type, public :: ExtData_DriverGridComp


Inherits

type~~extdata_drivergridcomp~~InheritsGraph type~extdata_drivergridcomp ExtData_DriverGridComp ESMF_Clock ESMF_Clock type~extdata_drivergridcomp->ESMF_Clock clock ESMF_Config ESMF_Config type~extdata_drivergridcomp->ESMF_Config cf_ext, cf_root, cf_hist, config ESMF_GridComp ESMF_GridComp type~extdata_drivergridcomp->ESMF_GridComp gc, gcs ESMF_State ESMF_State type~extdata_drivergridcomp->ESMF_State imports, exports ESMF_Time ESMF_Time type~extdata_drivergridcomp->ESMF_Time times ESMF_VM ESMF_VM type~extdata_drivergridcomp->ESMF_VM vm

Type-Bound Procedures

procedure, public :: advanceClockToTime

  • private subroutine advanceClockToTime(this, time, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtData_DriverGridComp), intent(inout) :: this
    type(ESMF_Time), intent(inout) :: time
    integer, intent(out), optional :: rc

procedure, public :: finalize

  • public subroutine finalize(unusable, rc)

    Arguments

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

procedure, public :: get_am_i_root

  • private function get_am_i_root(this, rc) result(amiroot)

    Arguments

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

    Return Value logical

procedure, public :: initialize

  • public subroutine initialize(comm, unusable, enable_global_timeprof, enable_global_memprof, rc)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in), optional :: comm
    class(KeywordEnforcer), intent(in), optional :: unusable
    logical, intent(in), optional :: enable_global_timeprof
    logical, intent(in), optional :: enable_global_memprof
    integer, intent(out), optional :: rc

procedure, public :: parseTimes

  • private subroutine parseTimes(this, rc)

    Arguments

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

procedure, public :: run

  • private subroutine run(this, rc)

    Arguments

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

procedure, public :: run_one_step

  • private subroutine run_one_step(this, rc)

    Arguments

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

procedure, public :: set_services

  • private subroutine set_services(this, rc)

    Arguments

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

Source Code

  type :: ExtData_DriverGridComp
     private
     type (ESMF_GridComp)          :: gc
     procedure(), pointer, nopass  :: root_set_services => null()
     character(len=:), allocatable :: name, configFile
     logical :: amiroot, run_hist, run_extdata
     integer :: extdata_id, history_id, root_id, printspec
     integer :: nsteps
     type(ESMF_Clock) :: clock
     type(ESMF_Config) :: cf_ext, cf_root, cf_hist, config
     type(ESMF_GridComp), allocatable :: gcs(:)
     type(ESMF_State),    allocatable :: imports(:), exports(:)
     type(ESMF_VM) :: vm
     type(ESMF_Time), allocatable :: times(:)
     logical :: run_fbf = .false.
   contains
     procedure :: set_services
     procedure :: initialize
     procedure :: run
     procedure :: run_one_step
     procedure :: finalize
     procedure :: get_am_i_root
     procedure :: parseTimes
     procedure :: advanceClockToTime
  end type ExtData_DriverGridComp