get_var_attr_string Function

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

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 character(len=:), allocatable


Calls

proc~~get_var_attr_string~~CallsGraph proc~get_var_attr_string FileMetadataUtils%get_var_attr_string interface~mapl_assert MAPL_Assert proc~get_var_attr_string->interface~mapl_assert none~get_attribute Variable%get_attribute proc~get_var_attr_string->none~get_attribute none~get_value UnlimitedEntity%get_value proc~get_var_attr_string->none~get_value none~get_variable FileMetadata%get_variable proc~get_var_attr_string->none~get_variable proc~get_file_name FileMetadataUtils%get_file_name proc~get_var_attr_string->proc~get_file_name proc~mapl_return MAPL_Return proc~get_var_attr_string->proc~mapl_return proc~mapl_verify MAPL_Verify proc~get_var_attr_string->proc~mapl_verify none~get_attribute->interface~mapl_assert none~get_attribute->proc~mapl_return none~at~140 StringAttributeMap%at none~get_attribute->none~at~140 none~get_value->proc~mapl_return none~get_variable->proc~mapl_return none~at~5 StringVariableMap%at none~get_variable->none~at~5 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~39 StringAttributeMap%find none~at~140->none~find~39 none~find~2 StringVariableMap%find none~at~5->none~find~2

Called by

proc~~get_var_attr_string~~CalledByGraph proc~get_var_attr_string FileMetadataUtils%get_var_attr_string proc~mapl_create_bundle_from_metdata_id MAPL_create_bundle_from_metdata_id proc~mapl_create_bundle_from_metdata_id->proc~get_var_attr_string proc~mapl_read_bundle MAPL_read_bundle proc~mapl_read_bundle->proc~mapl_create_bundle_from_metdata_id proc~main main proc~main->proc~mapl_read_bundle program~time_ave time_ave program~time_ave->proc~mapl_read_bundle program~ut_regridding ut_ReGridding program~ut_regridding->proc~mapl_read_bundle program~regrid_util Regrid_Util program~regrid_util->proc~main

Source Code

   function get_var_attr_string(this,var_name,attr_name,rc) result(attr_string)
      character(len=:), allocatable :: attr_string
      class(FileMetadataUtils), intent(inout) :: this
      character(len=*), intent(in) :: var_name
      character(len=*), intent(in) :: attr_name
      integer, optional, intent(out) :: rc

      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_value()
      select type(attr_val)
      type is(character(*))
         attr_string = attr_val
      class default
         _FAIL('unsupported subclass (not string) for units of attribute named '//attr_name//' in '//var_name//' in '//fname)
      end select

      _RETURN(_SUCCESS)
   end function get_var_attr_string