FieldBundleDelta Derived Type

type, public :: FieldBundleDelta


Inherits

type~~fieldbundledelta~~InheritsGraph type~fieldbundledelta FieldBundleDelta type~fielddelta FieldDelta type~fieldbundledelta->type~fielddelta field_delta ESMF_Geom ESMF_Geom type~fielddelta->ESMF_Geom geom ESMF_TypeKind_Flag ESMF_TypeKind_Flag type~fielddelta->ESMF_TypeKind_Flag typekind

Constructor

public interface FieldBundleDelta

  • private function new_FieldBundleDelta(fieldCount, geom, typekind, num_levels, units, interpolation_weights) result(bundle_delta)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in), optional :: fieldCount
    type(ESMF_Geom), intent(in), optional :: geom
    type(ESMF_TypeKind_Flag), intent(in), optional :: typekind
    integer, intent(in), optional :: num_levels
    character(len=*), intent(in), optional :: units
    real(kind=ESMF_KIND_R4), intent(in), optional :: interpolation_weights(:)

    Return Value type(FieldBundleDelta)

  • private function new_FieldBundleDelta_field_delta(field_delta, fieldCount, interpolation_weights) result(bundle_delta)

    Arguments

    Type IntentOptional Attributes Name
    type(FieldDelta), intent(in) :: field_delta
    integer, intent(in), optional :: fieldCount
    real(kind=ESMF_KIND_R4), intent(in), optional :: interpolation_weights(:)

    Return Value type(FieldBundleDelta)


Type-Bound Procedures

generic, public :: initialize => initialize_bundle_delta

  • private subroutine initialize_bundle_delta(this, bundle_a, bundle_b, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldBundleDelta), intent(out) :: this
    type(ESMF_FieldBundle), intent(in) :: bundle_a
    type(ESMF_FieldBundle), intent(in) :: bundle_b
    integer, intent(out), optional :: rc

procedure, public :: initialize_bundle_delta

  • private subroutine initialize_bundle_delta(this, bundle_a, bundle_b, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldBundleDelta), intent(out) :: this
    type(ESMF_FieldBundle), intent(in) :: bundle_a
    type(ESMF_FieldBundle), intent(in) :: bundle_b
    integer, intent(out), optional :: rc

procedure, public :: reallocate_bundle

  • private subroutine reallocate_bundle(this, bundle, ignore, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldBundleDelta), intent(in) :: this
    type(ESMF_FieldBundle), intent(inout) :: bundle
    character(len=*), intent(in) :: ignore
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: update_bundle

  • private subroutine update_bundle(this, bundle, ignore, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldBundleDelta), intent(in) :: this
    type(ESMF_FieldBundle), intent(inout) :: bundle
    character(len=*), intent(in), optional :: ignore
    integer, intent(out), optional :: rc

Source Code

   type :: FieldBundleDelta
      private
      type(FieldDelta) :: field_delta ! constant across bundle
      real(ESMF_KIND_R4), allocatable :: interpolation_weights(:)
   contains
      procedure :: initialize_bundle_delta
      generic :: initialize => initialize_bundle_delta
      procedure :: update_bundle
      procedure :: reallocate_bundle
   end type FieldBundleDelta