MeanAction Derived Type

type, public, extends(AccumulatorAction) :: MeanAction


Inherits

type~~meanaction~~InheritsGraph type~meanaction MeanAction ESMF_Field ESMF_Field type~meanaction->ESMF_Field counter_field type~accumulatoraction AccumulatorAction type~meanaction->type~accumulatoraction type~accumulatoraction->ESMF_Field accumulation_field, result_field ESMF_TypeKind_Flag ESMF_TypeKind_Flag type~accumulatoraction->ESMF_TypeKind_Flag typekind type~extensionaction ExtensionAction type~accumulatoraction->type~extensionaction

Components

Type Visibility Attributes Name Initial
logical, public :: initialized = .FALSE.
logical, public :: update_calculated = .FALSE.
real(kind=ESMF_KIND_R4), public :: CLEAR_VALUE_R4 = 0.0_ESMF_KIND_R4
type(ESMF_Field), public, allocatable :: accumulation_field
type(ESMF_Field), public, allocatable :: counter_field
type(ESMF_Field), public, allocatable :: result_field
type(ESMF_TypeKind_Flag), public :: typekind = ESMF_TYPEKIND_R4

Type-Bound Procedures

procedure, public :: accumulate

  • private subroutine accumulate(this, update_field, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AccumulatorAction), intent(inout) :: this
    type(ESMF_Field), intent(inout) :: update_field
    integer, intent(out), optional :: rc

procedure, public :: accumulate_R4

  • private subroutine accumulate_R4(this, update_field, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MeanAction), intent(inout) :: this
    type(ESMF_Field), intent(inout) :: update_field
    integer, intent(out), optional :: rc

procedure, public :: calculate_mean

  • private subroutine calculate_mean(this, rc)

    Arguments

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

procedure, public :: calculate_mean_R4

  • private subroutine calculate_mean_R4(this, rc)

    Arguments

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

procedure, public :: clear => clear_mean

  • private subroutine clear_mean(this, rc)

    Arguments

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

procedure, public :: create_fields => create_fields_mean

  • private subroutine create_fields_mean(this, import_field, export_field, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MeanAction), intent(inout) :: this
    type(ESMF_Field), intent(inout) :: import_field
    type(ESMF_Field), intent(inout) :: export_field
    integer, intent(out), optional :: rc

procedure, public :: initialize

  • private subroutine initialize(this, importState, exportState, clock, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AccumulatorAction), intent(inout) :: this
    type(ESMF_State) :: importState
    type(ESMF_State) :: exportState
    type(ESMF_Clock) :: clock
    integer, intent(out), optional :: rc

procedure, public :: invalidate

  • private subroutine invalidate(this, importState, exportState, clock, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AccumulatorAction), intent(inout) :: this
    type(ESMF_State) :: importState
    type(ESMF_State) :: exportState
    type(ESMF_Clock) :: clock
    integer, intent(out), optional :: rc

procedure, public :: update

  • private subroutine update(this, importState, exportState, clock, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AccumulatorAction), intent(inout) :: this
    type(ESMF_State) :: importState
    type(ESMF_State) :: exportState
    type(ESMF_Clock) :: clock
    integer, intent(out), optional :: rc

procedure, public :: update_result => update_result_mean

  • private subroutine update_result_mean(this, rc)

    Arguments

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

Source Code

   type, extends(AccumulatorAction) :: MeanAction
      type(ESMF_Field), allocatable :: counter_field
   contains
      procedure :: clear => clear_mean
      procedure :: create_fields => create_fields_mean
      procedure :: update_result => update_result_mean
      procedure :: calculate_mean
      procedure :: calculate_mean_R4
      procedure :: accumulate_R4
   end type MeanAction