MinAction Derived Type

type, public, extends(AccumulatorAction) :: MinAction


Inherits

type~~minaction~~InheritsGraph type~minaction MinAction type~accumulatoraction AccumulatorAction type~minaction->type~accumulatoraction ESMF_Field ESMF_Field 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 :: update_calculated = .FALSE.
real(kind=ESMF_KIND_R4), public :: CLEAR_VALUE_R4 = 0.0_ESMF_KIND_R4
type(ESMF_Field), public :: accumulation_field
type(ESMF_Field), public :: result_field
type(ESMF_TypeKind_Flag), public :: typekind = ESMF_TYPEKIND_R4

Constructor

public interface MinAction

  • private function construct_MinAction() result(acc)

    Arguments

    None

    Return Value type(MinAction)


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 => min_accumulate_R4

  • private subroutine min_accumulate_R4(this, update_field, rc)

    Arguments

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

procedure, public :: clear

  • private subroutine clear(this, rc)

    Arguments

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

procedure, public :: create_fields

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

    Arguments

    Type IntentOptional Attributes Name
    class(AccumulatorAction), 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 :: initialized

  • private function initialized(this) result(lval)

    Arguments

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

    Return Value logical

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

  • private subroutine update_result(this, rc)

    Arguments

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

Source Code

   type, extends(AccumulatorAction) :: MinAction
   contains
      procedure :: accumulate_R4 => min_accumulate_R4
   end type MinAction