FieldDictionary Derived Type

type, public :: FieldDictionary


Inherits

type~~fielddictionary~~InheritsGraph type~fielddictionary FieldDictionary StringStringMap StringStringMap type~fielddictionary->StringStringMap alias_map type~fielddictionaryitemmap FieldDictionaryItemMap type~fielddictionary->type~fielddictionaryitemmap entries type~map_set~3 map_Set type~fielddictionaryitemmap->type~map_set~3 tree type~map_s_basenode~3 map_s_BaseNode type~map_set~3->type~map_s_basenode~3 root

Constructor

public interface FieldDictionary

  • private function new_from_yaml(filename, stream, rc) result(fd)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in), optional :: filename
    character(len=*), intent(in), optional :: stream
    integer, intent(out), optional :: rc

    Return Value type(FieldDictionary)


Type-Bound Procedures

procedure, public :: add_aliases

  • private subroutine add_aliases(this, standard_name, aliases, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldDictionary), intent(inout) :: this
    character(len=*), intent(in) :: standard_name
    type(StringVector), intent(in) :: aliases
    integer, intent(out), optional :: rc

procedure, public :: add_item

  • private subroutine add_item(this, standard_name, field_item, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldDictionary), intent(inout) :: this
    character(len=*), intent(in) :: standard_name
    type(FieldDictionaryItem), intent(in) :: field_item
    integer, intent(out), optional :: rc

procedure, public :: get_item

  • private function get_item(this, standard_name, rc) result(item)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldDictionary), intent(in) :: this
    character(len=*), intent(in) :: standard_name
    integer, intent(out), optional :: rc

    Return Value type(FieldDictionaryItem)

procedure, public :: get_long_name

  • private function get_long_name(this, standard_name, rc) result(long_name)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldDictionary), intent(in), target :: this
    character(len=*), intent(in) :: standard_name
    integer, intent(out), optional :: rc

    Return Value character(len=:), allocatable

procedure, public :: get_regrid_method

  • private function get_regrid_method(this, standard_name, rc) result(regrid_method)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldDictionary), intent(in), target :: this
    character(len=*), intent(in) :: standard_name
    integer, intent(out), optional :: rc

    Return Value type(ESMF_RegridMethod_Flag)

procedure, public :: get_standard_name

  • private function get_standard_name(this, alias, rc) result(standard_name)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldDictionary), intent(in), target :: this
    character(len=*), intent(in) :: alias
    integer, intent(out), optional :: rc

    Return Value character(len=:), allocatable

procedure, public :: get_units

  • private function get_units(this, standard_name, rc) result(canonical_units)

    Arguments

    Type IntentOptional Attributes Name
    class(FieldDictionary), intent(in), target :: this
    character(len=*), intent(in) :: standard_name
    integer, intent(out), optional :: rc

    Return Value character(len=:), allocatable

procedure, public :: size

  • private function size(this)

    Arguments

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

    Return Value integer

Source Code

   type :: FieldDictionary
      private
      type(FieldDictionaryItemMap) :: entries
      type(StringStringMap) :: alias_map  ! For efficiency
   contains
      procedure :: add_item
      procedure :: add_aliases
      ! accessors
      procedure :: get_item   ! returns a pointer
      procedure :: get_units
      procedure :: get_long_name
      procedure :: get_standard_name
      procedure :: get_regrid_method
      procedure :: size
   end type FieldDictionary