ExtDataBracket Derived Type

type, public :: ExtDataBracket


Inherits

type~~extdatabracket~~InheritsGraph type~extdatabracket ExtDataBracket type~extdatanode ExtDataNode type~extdatabracket->type~extdatanode left_node, right_node ESMF_Field ESMF_Field type~extdatanode->ESMF_Field field ESMF_Time ESMF_Time type~extdatanode->ESMF_Time time

Inherited by

type~~extdatabracket~~InheritedByGraph type~extdatabracket ExtDataBracket type~bracketingfields BracketingFields type~bracketingfields->type~extdatabracket comp1, comp2, auxiliary1, auxiliary2 type~primaryexport PrimaryExport type~primaryexport->type~bracketingfields modelGridFields type~vector_wrapper~28 vector_wrapper type~vector_wrapper~28->type~primaryexport item type~primaryexportvector PrimaryExportVector type~primaryexportvector->type~vector_wrapper~28 elements type~primaryexportvectoriterator PrimaryExportVectorIterator type~primaryexportvectoriterator->type~vector_wrapper~28 elements

Components

Type Visibility Attributes Name Initial
logical, public :: disable_interpolation = .false.
logical, public :: exact = .false.
logical, public :: intermittent_disable = .false.
logical, public :: new_file_left
logical, public :: new_file_right
real, public :: offset = 0.0
real, public :: scale_factor = 0.0
type(ExtDataNode), public :: left_node
type(ExtDataNode), public :: right_node

Type-Bound Procedures

procedure, public :: get_node

  • private subroutine get_node(this, bracketside, unusable, field, file, time, time_index, was_set, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataBracket), intent(inout) :: this
    character(len=*), intent(in) :: bracketside
    class(KeywordEnforcer), intent(in), optional :: unusable
    type(ESMF_Field), intent(out), optional :: field
    character(len=*), intent(out), optional :: file
    type(ESMF_Time), intent(out), optional :: time
    integer, intent(out), optional :: time_index
    logical, intent(out), optional :: was_set
    integer, intent(out), optional :: rc

procedure, public :: get_parameters

  • private subroutine get_parameters(this, bracket_side, unusable, field, file, time, time_index, update, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataBracket), intent(inout) :: this
    character(len=*), intent(in) :: bracket_side
    class(KeywordEnforcer), intent(in), optional :: unusable
    type(ESMF_Field), intent(out), optional :: field
    character(len=*), intent(out), optional :: file
    type(ESMF_Time), intent(out), optional :: time
    integer, intent(out), optional :: time_index
    logical, intent(out), optional :: update
    integer, intent(out), optional :: rc

procedure, public :: interpolate_to_time

  • private subroutine interpolate_to_time(this, field, time, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataBracket), intent(inout) :: this
    type(ESMF_Field), intent(inout) :: field
    type(ESMF_Time), intent(in) :: time
    integer, intent(out), optional :: rc

procedure, public :: reset

  • private subroutine reset(this)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataBracket), intent(inout) :: this

procedure, public :: set_node

  • private subroutine set_node(this, bracketside, unusable, field, file, time, time_index, was_set, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataBracket), intent(inout) :: this
    character(len=*), intent(in) :: bracketside
    class(KeywordEnforcer), intent(in), optional :: unusable
    type(ESMF_Field), intent(in), optional :: field
    character(len=*), intent(in), optional :: file
    type(ESMF_Time), intent(in), optional :: time
    integer, intent(in), optional :: time_index
    logical, intent(in), optional :: was_set
    integer, intent(out), optional :: rc

procedure, public :: set_parameters

  • private subroutine set_parameters(this, unusable, linear_trans, disable_interpolation, left_field, right_field, intermittent_disable, exact, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataBracket), intent(inout) :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    real, intent(in), optional :: linear_trans(2)
    logical, intent(in), optional :: disable_interpolation
    type(ESMF_Field), intent(in), optional :: left_field
    type(ESMF_Field), intent(in), optional :: right_field
    logical, intent(in), optional :: intermittent_disable
    logical, intent(in), optional :: exact
    integer, intent(out), optional :: rc

procedure, public :: swap_node_fields

  • private subroutine swap_node_fields(this, rc)

    Arguments

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

procedure, public :: time_in_bracket

  • private function time_in_bracket(this, time) result(in_bracket)

    Arguments

    Type IntentOptional Attributes Name
    class(ExtDataBracket), intent(in) :: this
    type(ESMF_Time), intent(in) :: time

    Return Value logical

Source Code

   type ExtDataBracket
      type(ExtDataNode) :: left_node
      type(ExtDataNode) :: right_node
      real             :: scale_factor = 0.0
      real             :: offset = 0.0
      logical          :: disable_interpolation = .false.
      logical          :: intermittent_disable = .false.
      logical          :: new_file_right
      logical          :: new_file_left
      logical          :: exact = .false.
      contains
         procedure :: interpolate_to_time
         procedure :: time_in_bracket
         procedure :: set_parameters
         procedure :: get_parameters
         procedure :: set_node
         procedure :: get_node
         procedure :: swap_node_fields
         procedure :: reset
   end type ExtDataBracket