FileMetadataUtils Derived Type

type, public, extends(FileMetadata) :: FileMetadataUtils


Inherits

type~~filemetadatautils~~InheritsGraph type~filemetadatautils FileMetadataUtils type~filemetadata FileMetadata type~filemetadatautils->type~filemetadata StringIntegerMap StringIntegerMap type~filemetadata->StringIntegerMap dimensions StringVector StringVector type~filemetadata->StringVector order type~stringvariablemap StringVariableMap type~filemetadata->type~stringvariablemap variables type~variable Variable type~filemetadata->type~variable global_var type~set2~13 set2 type~stringvariablemap->type~set2~13 tree type~variable->StringVector dimensions type~stringattributemap StringAttributeMap type~variable->type~stringattributemap attributes type~unlimitedentity UnlimitedEntity type~variable->type~unlimitedentity const_value type~ivector~12 iVector type~set2~13->type~ivector~12 parents, lefts, rights, heights type~tvector~12 tVector type~set2~13->type~tvector~12 items type~set2~11 set2 type~stringattributemap->type~set2~11 tree

Inherited by

type~~filemetadatautils~~InheritedByGraph type~filemetadatautils FileMetadataUtils type~filemetadatautilsvector FileMetadataUtilsVector type~filemetadatautilsvector->type~filemetadatautils elements type~filemetadatautilsvectoriterator FileMetadataUtilsVectorIterator type~filemetadatautilsvectoriterator->type~filemetadatautils elements type~filemetadatautilsvectorriterator FileMetadataUtilsVectorRIterator type~filemetadatautilsvectorriterator->type~filemetadatautils elements type~mapl_griddedio MAPL_GriddedIO type~mapl_griddedio->type~filemetadatautils current_file_metadata type~primaryexport PrimaryExport type~primaryexport->type~filemetadatautils file_metadata type~sampler sampler type~sampler->type~filemetadatautils current_file_metadata type~extdata_iobundle ExtData_IoBundle type~extdata_iobundle->type~mapl_griddedio cfio type~extdatang_iobundle ExtDataNG_IOBundle type~extdatang_iobundle->type~mapl_griddedio grid_io type~fieldbundlewriter FieldBundleWriter type~fieldbundlewriter->type~mapl_griddedio cfio type~historycollection~2 HistoryCollection type~historycollection~2->type~mapl_griddedio mGriddedIO type~historycollection~2->type~sampler xsampler type~mapldatacollection MAPLDataCollection type~mapldatacollection->type~filemetadatautilsvector metadatas type~vector_wrapper~6 vector_wrapper type~vector_wrapper~6->type~primaryexport item type~historycollectionvectoriterator~2 HistoryCollectionVectorIterator type~historycollectionvectoriterator~2->type~historycollection~2 elements type~historycollectionvectorriterator~2 HistoryCollectionVectorRIterator type~historycollectionvectorriterator~2->type~historycollection~2 elements type~historycollectionvector~2 HistoryCollectionVector type~historycollectionvector~2->type~historycollection~2 elements type~iobundlengvector IoBundleNGVector type~iobundlengvector->type~extdatang_iobundle elements type~iobundlengvectoriterator IoBundleNGVectorIterator type~iobundlengvectoriterator->type~extdatang_iobundle elements type~iobundlengvectorriterator IoBundleNGVectorRIterator type~iobundlengvectorriterator->type~extdatang_iobundle elements type~iobundlevector IoBundleVector type~iobundlevector->type~extdata_iobundle elements type~iobundlevectoriterator IoBundleVectorIterator type~iobundlevectoriterator->type~extdata_iobundle elements type~iobundlevectorriterator IoBundleVectorRIterator type~iobundlevectorriterator->type~extdata_iobundle elements type~maplcollectionvector MAPLCollectionVector type~maplcollectionvector->type~mapldatacollection elements type~maplcollectionvectoriterator MAPLCollectionVectorIterator type~maplcollectionvectoriterator->type~mapldatacollection elements type~maplcollectionvectorriterator MAPLCollectionVectorRIterator type~maplcollectionvectorriterator->type~mapldatacollection elements type~primaryexportvector PrimaryExportVector type~primaryexportvector->type~vector_wrapper~6 elements type~primaryexportvectoriterator PrimaryExportVectorIterator type~primaryexportvectoriterator->type~vector_wrapper~6 elements type~vectorriterator~6 VectorRIterator type~vectorriterator~6->type~primaryexportvectoriterator iterator

Constructor

public interface FileMetadataUtils


Type-Bound Procedures

generic, public :: add_attribute => add_attribute_0d, add_attribute_1d

  • private subroutine add_attribute_0d(this, attr_name, attr_value, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: attr_name
    class(*), intent(in) :: attr_value
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc
  • private subroutine add_attribute_1d(this, attr_name, values, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: attr_name
    class(*), intent(in) :: values(:)
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: add_attribute_0d

  • private subroutine add_attribute_0d(this, attr_name, attr_value, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: attr_name
    class(*), intent(in) :: attr_value
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: add_attribute_1d

  • private subroutine add_attribute_1d(this, attr_name, values, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: attr_name
    class(*), intent(in) :: values(:)
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: add_dimension

  • private subroutine add_dimension(this, dim_name, extent, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: dim_name
    integer, intent(in) :: extent
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: add_variable

  • private subroutine add_variable(this, var_name, var, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: var_name
    class(Variable), intent(in), target :: var
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: create

  • public subroutine create(this, metadata, fName)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    type(FileMetadata), intent(in) :: metadata
    character(len=*), intent(in) :: fName

procedure, public :: equal

  • private function equal(a, b)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: a
    class(FileMetadata), intent(in), target :: b

    Return Value logical

procedure, public :: get_attribute

  • private function get_attribute(this, attr_name, unusable, rc) result(ref)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    character(len=*), intent(in) :: attr_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value type(Attribute), pointer

procedure, public :: get_attributes

  • private function get_attributes(this, rc) result(attributes)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    integer, intent(out), optional :: rc

    Return Value type(StringAttributeMap), pointer

procedure, public :: get_coordinate_info

  • public subroutine get_coordinate_info(this, coordinate_name, coordSize, coordUnits, long_name, standard_name, coords, coordinate_attr, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    character(len=*), intent(in) :: coordinate_name
    integer, intent(out), optional :: coordSize
    character(len=*), intent(out), optional :: coordUnits
    character(len=*), intent(out), optional :: long_name
    character(len=*), intent(out), optional :: standard_name
    real, intent(inout), optional, allocatable :: coords(:)
    character(len=*), intent(out), optional :: coordinate_attr
    integer, intent(out), optional :: rc

procedure, public :: get_coordinate_variable

  • private function get_coordinate_variable(this, var_name, unusable, rc) result(var)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    character(len=*), intent(in) :: var_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value class(CoordinateVariable), pointer

procedure, public :: get_dimension

  • private function get_dimension(this, dim_name, unusable, rc) result(extent)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    character(len=*), intent(in) :: dim_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value integer

procedure, public :: get_dimensions

  • private function get_dimensions(this) result(dimensions)

    Arguments

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

    Return Value type(StringIntegerMap), pointer

procedure, public :: get_file_name

  • public function get_file_name(this, rc) result(fname)

    Arguments

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

    Return Value character(len=:), allocatable

procedure, public :: get_global_var

  • private function get_global_var(this) result(global_var)

    Arguments

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

    Return Value type(Variable), pointer

procedure, public :: get_level_name

  • public function get_level_name(this, rc) result(lev_name)

    Arguments

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

    Return Value character(len=:), allocatable

procedure, public :: get_order

  • private function get_order(this, unusable, rc) result(order)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value type(StringVector)

procedure, public :: get_source_file

  • private function get_source_file(this, rc) result(source_file)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in) :: this
    integer, intent(out), optional :: rc

    Return Value character(len=:), allocatable

procedure, public :: get_time_info

  • public subroutine get_time_info(this, startTime, startYear, startMonth, startDay, startHour, startMin, startSec, units, timeVector, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    type(ESMF_Time), intent(inout), optional :: startTime
    integer, intent(out), optional :: startYear
    integer, intent(out), optional :: startMonth
    integer, intent(out), optional :: startDay
    integer, intent(out), optional :: startHour
    integer, intent(out), optional :: startMin
    integer, intent(out), optional :: startSec
    character(len=*), intent(out), optional :: units
    type(ESMF_Time), optional, allocatable :: timeVector(:)
    integer, intent(out), optional :: rc

procedure, public :: get_var_attr_int32

  • public function get_var_attr_int32(this, var_name, attr_name, rc) result(attr_int32)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: attr_name
    integer, intent(out), optional :: rc

    Return Value integer(kind=INT32)

procedure, public :: get_var_attr_int64

  • public function get_var_attr_int64(this, var_name, attr_name, rc) result(attr_int64)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: attr_name
    integer, intent(out), optional :: rc

    Return Value integer(kind=INT64)

procedure, public :: get_var_attr_real32

  • public function get_var_attr_real32(this, var_name, attr_name, rc) result(attr_real32)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: attr_name
    integer, intent(out), optional :: rc

    Return Value real(kind=REAL32)

procedure, public :: get_var_attr_real64

  • public function get_var_attr_real64(this, var_name, attr_name, rc) result(attr_real64)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: attr_name
    integer, intent(out), optional :: rc

    Return Value real(kind=REAL64)

procedure, public :: get_var_attr_string

  • public function get_var_attr_string(this, var_name, attr_name, rc) result(attr_string)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: attr_name
    integer, intent(out), optional :: rc

    Return Value character(len=:), allocatable

procedure, public :: get_variable

  • private function get_variable(this, var_name, unusable, rc) result(var)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    character(len=*), intent(in) :: var_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value class(Variable), pointer

procedure, public :: get_variable_attribute

  • public function get_variable_attribute(this, var_name, attr_name, rc) result(units)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: attr_name
    integer, intent(out), optional :: rc

    Return Value character(len=:), pointer

procedure, public :: get_variables

  • private function get_variables(this, rc) result(variables)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    integer, intent(out), optional :: rc

    Return Value type(StringVariableMap), pointer

procedure, public :: has_attribute

  • private function has_attribute(this, attr_name)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    character(len=*), intent(in) :: attr_name

    Return Value logical

procedure, public :: has_dimension

  • private function has_dimension(this, dim_name, unusable, rc) result(isPresent)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    character(len=*), intent(in) :: dim_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value logical

procedure, public :: has_variable

  • private function has_variable(this, var_name, unusable, rc) result(has)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    character(len=*), intent(in) :: var_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value logical

procedure, public :: is_coordinate_variable

  • private function is_coordinate_variable(this, var_name, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: this
    character(len=*), intent(in) :: var_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

    Return Value logical

procedure, public :: is_var_present

  • public function is_var_present(this, var_name, rc) result(isPresent)

    Arguments

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

    Return Value logical

procedure, public :: merge

  • private subroutine merge(this, meta, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    class(FileMetadata), intent(in), target :: meta
    integer, intent(out), optional :: rc

procedure, public :: modify_dimension

  • private subroutine modify_dimension(this, dim_name, extent, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: dim_name
    integer, intent(in) :: extent
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: modify_variable

  • private subroutine modify_variable(this, var_name, var, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: var_name
    class(Variable), intent(in), target :: var
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: not_equal

  • private function not_equal(a, b)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: a
    class(FileMetadata), intent(in), target :: b

    Return Value logical

generic, public :: operator(/=) => not_equal

  • private function not_equal(a, b)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: a
    class(FileMetadata), intent(in), target :: b

    Return Value logical

generic, public :: operator(==) => equal

  • private function equal(a, b)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in), target :: a
    class(FileMetadata), intent(in), target :: b

    Return Value logical

procedure, public :: remove_attribute

  • private subroutine remove_attribute(this, attr_name)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: attr_name

procedure, public :: remove_variable

  • private subroutine remove_variable(this, var_name, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    character(len=*), intent(in) :: var_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: serialize

  • private subroutine serialize(this, buffer, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in) :: this
    integer, intent(inout), allocatable :: buffer(:)
    integer, intent(out), optional :: rc

procedure, public :: set_order

  • private subroutine set_order(this, newOrder, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(inout), target :: this
    type(StringVector), intent(in) :: newOrder
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: set_source_file

  • private subroutine set_source_file(this, source_file, rc)

    Arguments

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

procedure, public :: var_get_missing_value

  • public function var_get_missing_value(this, var_name, rc) result(missing_value)

    Arguments

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

    Return Value real(kind=REAL32)

procedure, public :: var_has_attr

  • public function var_has_attr(this, var_name, attr_name, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadataUtils), intent(inout) :: this
    character(len=*), intent(in) :: var_name
    character(len=*), intent(in) :: attr_name
    integer, intent(out), optional :: rc

    Return Value logical

procedure, public :: var_has_missing_value

  • public function var_has_missing_value(this, var_name, rc)

    Arguments

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

    Return Value logical

generic, public :: write(formatted) => write_formatted

  • private subroutine write_formatted(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg

procedure, public :: write_formatted

  • private subroutine write_formatted(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(FileMetadata), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg

Source Code

   type, extends(Filemetadata) :: FileMetadataUtils

   private
      character(len=:), allocatable :: filename 
   contains
      procedure :: create
      procedure :: get_coordinate_info
      procedure :: get_variable_attribute
      procedure :: get_time_info
      procedure :: get_level_name
      procedure :: is_var_present
      procedure :: get_file_name
      procedure :: var_get_missing_value
      procedure :: var_has_missing_value
      procedure :: var_has_attr
      procedure :: get_var_attr_real32
      procedure :: get_var_attr_real64
      procedure :: get_var_attr_int32
      procedure :: get_var_attr_int64
      procedure :: get_var_attr_string
   end type FileMetadataUtils