get_var_attr_real64 Function

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

Type Bound

FileMetadataUtils

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)


Calls

proc~~get_var_attr_real64~~CallsGraph proc~get_var_attr_real64 FileMetadataUtils%get_var_attr_real64 interface~mapl_assert MAPL_Assert proc~get_var_attr_real64->interface~mapl_assert none~get_attribute Variable%get_attribute proc~get_var_attr_real64->none~get_attribute none~get_values~2 UnlimitedEntity%get_values proc~get_var_attr_real64->none~get_values~2 none~get_variable FileMetadata%get_variable proc~get_var_attr_real64->none~get_variable proc~get_file_name FileMetadataUtils%get_file_name proc~get_var_attr_real64->proc~get_file_name proc~mapl_return MAPL_Return proc~get_var_attr_real64->proc~mapl_return proc~mapl_verify MAPL_Verify proc~get_var_attr_real64->proc~mapl_verify none~get_attribute->interface~mapl_assert none~get_attribute->proc~mapl_return none~at~226 StringAttributeMap%at none~get_attribute->none~at~226 none~get_values~2->proc~mapl_return none~get_variable->proc~mapl_return none~at~139 StringVariableMap%at none~get_variable->none~at~139 proc~get_file_name->proc~mapl_return at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception none~find~35 StringVariableMap%find none~at~139->none~find~35 none~find~59 StringAttributeMap%find none~at~226->none~find~59

Source Code

   function get_var_attr_real64(this,var_name,attr_name,rc) result(attr_real64)
      real(REAL64) :: attr_real64
      class(FileMetadataUtils), intent(inout) :: this
      character(len=*), intent(in) :: var_name
      character(len=*), intent(in) :: attr_name
      integer, optional, intent(out) :: rc

      real(REAL64) :: tmp(1)
      integer :: status
      character(:), allocatable :: fname
      type(Attribute), pointer :: attr
      type(Variable), pointer :: var
      class(*), pointer :: attr_val(:)

      fname = this%get_file_name(_RC)
      var => this%get_variable(var_name,_RC)
      _ASSERT(associated(var),"no variable named "//var_name//" in "//fname)
      attr => var%get_attribute(attr_name,_RC)
      _ASSERT(associated(attr),"no attribute named "//attr_name//" in "//var_name//" in "//fname)
      attr_val => attr%get_values()
      select type(attr_val)
      type is(real(kind=REAL64))
         tmp = attr_val
         attr_real64 = tmp(1)
      class default
         _FAIL('unsupported subclass (not real64) for units of attribute named '//attr_name//' in '//var_name//' in '//fname)
      end select

      _RETURN(_SUCCESS)
   end function get_var_attr_real64