diff --git a/src/mo_cdi.f90 b/src/mo_cdi.f90 index 05962daec5b1781ffc3daea0ac8e04e9eb806263..d1ec43d5495fdcced0aa3dcf1f61a6e63e92854f 100644 --- a/src/mo_cdi.f90 +++ b/src/mo_cdi.f90 @@ -421,6 +421,7 @@ module mo_cdi public :: cdiInqNatts public :: cdiInqAtt public :: cdiInqAttLen + public :: cdiInqAttType public :: cdiDelAtt public :: cdiCopyAtts public :: cdiDefAttInt @@ -4669,6 +4670,30 @@ contains f_result = lib_cdiInqAttLen(cdiID_dummy, varID_dummy, name_temp) end function cdiInqAttLen + function cdiInqAttType(cdiID_dummy, varID_dummy, name_dummy) result(f_result) + integer(c_int) :: f_result + integer(c_int), value :: cdiID_dummy + integer(c_int), value :: varID_dummy + character(kind = c_char, len = *), intent(in) :: name_dummy + character(kind = c_char) :: name_temp(len(name_dummy) + 1) + integer :: name_i + interface + function lib_cdiInqAttType(cdiID_dummy, varID_dummy, name_dummy) bind(c,& + & name = 'cdiInqAttType') result(c_result) + import c_char, c_int + integer(c_int) :: c_result + integer(c_int), value :: cdiID_dummy + integer(c_int), value :: varID_dummy + character(kind = c_char) :: name_dummy(*) + end function lib_cdiInqAttType + end interface + do name_i = 1, len(name_dummy) + name_temp(name_i) = name_dummy(name_i:name_i) + end do + name_temp(len(name_dummy) + 1) = c_null_char + f_result = lib_cdiInqAttType(cdiID_dummy, varID_dummy, name_temp) + end function cdiInqAttType + function cdiDelAtt(cdiID_dummy, varID_dummy, name_dummy) result(f_result) integer(c_int) :: f_result integer(c_int), value :: cdiID_dummy