type_field_manager Derived Type

type, public :: type_field_manager


Inherits

type~~type_field_manager~~InheritsGraph type~type_field_manager type_field_manager type~type_dictionary_bin type_dictionary_bin type~type_field_manager->type~type_dictionary_bin field_table type~type_dimension_pointer type_dimension_pointer type~type_field_manager->type~type_dimension_pointer prepend_dimensions, append_dimensions type~type_category_node type_category_node type~type_field_manager->type~type_category_node root type~type_dimension type_dimension type~type_field_manager->type~type_dimension first_dimension type~type_field type_field type~type_dictionary_bin->type~type_field first_field type~type_dimension_pointer->type~type_dimension p type~type_node type_node type~type_category_node->type~type_node type~type_dimension->type~type_dimension next type~type_dimension->type~type_field coordinate type~type_node->type~type_node parent, first_child, next_sibling type~type_field->type~type_dimension_pointer dimensions type~type_field->type~type_category_node category type~type_field->type~type_field next type~type_nd_data_pointer type_nd_data_pointer type~type_field->type~type_nd_data_pointer data type~type_attributes type_attributes type~type_field->type~type_attributes attributes type~type_attribute type_attribute type~type_attributes->type~type_attribute first type~type_attribute->type~type_attribute next

Inherited by

type~~type_field_manager~~InheritedByGraph type~type_field_manager type_field_manager type~type_file_populator type_file_populator type~type_file_populator->type~type_field_manager fm type~type_file type_file type~type_file->type~type_field_manager field_manager type~type_file->type~type_file next type~type_operator_populator type_operator_populator type~type_operator_populator->type~type_field_manager field_manager type~type_text_file type_text_file type~type_text_file->type~type_file type~type_group_populator type_group_populator type~type_group_populator->type~type_file file type~type_netcdf_file type_netcdf_file type~type_netcdf_file->type~type_file type~type_variable_populator type_variable_populator type~type_variable_populator->type~type_file file

Contents


Components

TypeVisibility AttributesNameInitial
type(type_dimension), public, pointer:: first_dimension=> null()
type(type_dimension_pointer), public, allocatable:: prepend_dimensions(:)
type(type_dimension_pointer), public, allocatable:: append_dimensions(:)
type(type_dictionary_bin), public :: field_table(hash_table_size)
type(type_category_node), public :: root
integer, public :: nregistered =0

Type-Bound Procedures

procedure, public :: initialize

  • private subroutine initialize(self, prepend_by_default, append_by_default)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    integer, intent(in), optional :: prepend_by_default(:)
    integer, intent(in), optional :: append_by_default(:)

procedure, public :: finalize

procedure, public :: register

  • private subroutine register(self, name, units, long_name, standard_name, fill_value, minimum, maximum, dimensions, data0d, data1d, data2d, data3d, no_default_dimensions, category, output_level, coordinate_dimension, part_of_state, used, used_now, field)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    character(len=*), intent(in) :: units
    character(len=*), intent(in) :: long_name
    character(len=*), intent(in), optional :: standard_name
    real(kind=rk), intent(in), optional :: fill_value
    real(kind=rk), intent(in), optional :: minimum
    real(kind=rk), intent(in), optional :: maximum
    integer, intent(in), optional :: dimensions(:)
    real(kind=rk), optional target:: data0d
    real(kind=rk), optional target:: data1d(:)
    real(kind=rk), optional target:: data2d(:,:)
    real(kind=rk), optional target:: data3d(:,:,:)
    logical, intent(in), optional :: no_default_dimensions
    character(len=*), intent(in), optional :: category
    integer, intent(in), optional :: output_level
    integer, intent(in), optional :: coordinate_dimension
    logical, intent(in), optional :: part_of_state
    logical, intent(out), optional :: used
    logical, optional target:: used_now
    type(type_field), optional pointer:: field

procedure, public :: find

  • private function find(self, name, create) result(field)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    logical, intent(in), optional :: create

    Return Value type(type_field), pointer

procedure, public :: list

  • private subroutine list(self)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(in) :: self

procedure, public :: send_data_0d

  • private subroutine send_data_0d(self, field, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    type(type_field), intent(inout) :: field
    real(kind=rk), target:: data

procedure, public :: send_data_1d

  • private subroutine send_data_1d(self, field, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    type(type_field), intent(inout) :: field
    real(kind=rk), target:: data(:)

procedure, public :: send_data_2d

  • private subroutine send_data_2d(self, field, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    type(type_field), intent(inout) :: field
    real(kind=rk), target:: data(:,:)

procedure, public :: send_data_3d

  • private subroutine send_data_3d(self, field, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    type(type_field), intent(inout) :: field
    real(kind=rk), target:: data(:,:,:)

procedure, public :: send_data_by_name_0d

  • private subroutine send_data_by_name_0d(self, name, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    real(kind=rk), target:: data

procedure, public :: send_data_by_name_1d

  • private subroutine send_data_by_name_1d(self, name, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    real(kind=rk), target:: data(:)

procedure, public :: send_data_by_name_2d

  • private subroutine send_data_by_name_2d(self, name, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    real(kind=rk), target:: data(:,:)

procedure, public :: send_data_by_name_3d

  • private subroutine send_data_by_name_3d(self, name, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    real(kind=rk), target:: data(:,:,:)

procedure, public :: select_for_output

  • private function select_for_output(self, name) result(field)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name

    Return Value type(type_field), pointer

procedure, public :: select_category_for_output

procedure, public :: register_dimension

  • private subroutine register_dimension(self, name, length, global_length, offset, id, newid)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    integer, intent(in), optional :: length
    integer, intent(in), optional :: global_length
    integer, intent(in), optional :: offset
    integer, intent(in), optional :: id
    integer, intent(out), optional :: newid

procedure, public :: find_dimension

procedure, public :: find_category

  • private function find_category(self, name, create) result(category)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout), target:: self
    character(len=*), intent(in) :: name
    logical, intent(in), optional :: create

    Return Value class(type_category_node), pointer

procedure, public :: get_state

procedure, public :: reset_used

  • private subroutine send_data_0d(self, field, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    type(type_field), intent(inout) :: field
    real(kind=rk), target:: data
  • private subroutine send_data_1d(self, field, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    type(type_field), intent(inout) :: field
    real(kind=rk), target:: data(:)
  • private subroutine send_data_2d(self, field, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    type(type_field), intent(inout) :: field
    real(kind=rk), target:: data(:,:)
  • private subroutine send_data_3d(self, field, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    type(type_field), intent(inout) :: field
    real(kind=rk), target:: data(:,:,:)
  • private subroutine send_data_by_name_0d(self, name, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    real(kind=rk), target:: data
  • private subroutine send_data_by_name_1d(self, name, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    real(kind=rk), target:: data(:)
  • private subroutine send_data_by_name_2d(self, name, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    real(kind=rk), target:: data(:,:)
  • private subroutine send_data_by_name_3d(self, name, data)

    Arguments

    Type IntentOptional AttributesName
    class(type_field_manager), intent(inout) :: self
    character(len=*), intent(in) :: name
    real(kind=rk), target:: data(:,:,:)