Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • icon-libraries/libfortran-support
1 result
Show changes
Commits on Source (4)
......@@ -24,7 +24,6 @@ add_library(fortran-support
mo_util_stride.f90
mo_util_string.f90
mo_util_string_parse.f90
mo_util_sysinfo.f90
mo_util_system.f90
mo_util_table.f90
mo_util_texthash.f90
......
......@@ -130,7 +130,13 @@ MODULE mo_exception
id = proc_id
nerr = nerr_unit
lwrite = l_write_output .OR. l_extra_output
IF (PRESENT(l_extra_output)) THEN
lwrite = l_write_output .OR. l_extra_output
ELSE
lwrite = l_write_output
ENDIF
model_abort => callback_abort
IF (PRESENT(callback_traceback)) THEN
......
!! @par Copyright and License
!!
!! This code is subject to the DWD and MPI-M-Software-License-Agreement in
!! its most recent form.
!! Please see the file LICENSE in the root of the source tree for this code.
!! Where software is supplied by third parties, it is indicated in the
!! headers of the routines.
MODULE mo_util_sysinfo
USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_INT, C_CHAR, C_LONG
IMPLICIT NONE
PRIVATE
! module name string
CHARACTER(LEN=*), PARAMETER :: modname = 'mo_util_sysinfo'
! log stream errors:
ENUM, BIND(C)
ENUMERATOR :: &
SUCCESS = 0, &
ERROR_FILE_NOT_FOUND = -2, &
ERROR_FILE_NOT_READABLE = -3
END ENUM
INTERFACE
SUBROUTINE private_util_user_name(name, name_len) BIND(C,NAME='util_user_name')
IMPORT :: C_INT, C_CHAR
CHARACTER(C_CHAR), DIMENSION(*), INTENT(out) :: name
INTEGER(C_INT), INTENT(out) :: name_len
END SUBROUTINE private_util_user_name
END INTERFACE
INTERFACE
SUBROUTINE private_util_os_system(name, name_len) BIND(C,NAME='util_os_system')
IMPORT :: C_INT, C_CHAR
CHARACTER(C_CHAR), DIMENSION(*), INTENT(out) :: name
INTEGER(C_INT), INTENT(out) :: name_len
END SUBROUTINE private_util_os_system
END INTERFACE
INTERFACE
SUBROUTINE private_util_node_name(name, name_len) BIND(C,NAME='util_node_name')
IMPORT :: C_INT, C_CHAR
CHARACTER(C_CHAR), DIMENSION(*), INTENT(out) :: name
INTEGER(C_INT), INTENT(out) :: name_len
END SUBROUTINE private_util_node_name
END INTERFACE
INTERFACE
SUBROUTINE private_util_get_maxrss(maxrss) BIND(C,NAME='util_get_maxrss')
IMPORT :: C_INT
INTEGER(C_INT), INTENT(out) :: maxrss
END SUBROUTINE private_util_get_maxrss
END INTERFACE
INTERFACE
SUBROUTINE private_util_compiler_release(release_str, rstr_len) BIND(C,NAME='util_compiler_release')
IMPORT :: C_INT, C_CHAR
CHARACTER(C_CHAR), DIMENSION(*), INTENT(out) :: release_str
INTEGER(C_INT), INTENT(out) :: rstr_len
END SUBROUTINE private_util_compiler_release
END INTERFACE
INTERFACE
SUBROUTINE private_util_c_getpid(pid) BIND(C,NAME='util_c_getpid')
IMPORT :: C_LONG
INTEGER(C_LONG), INTENT(out) :: pid
END SUBROUTINE private_util_c_getpid
END INTERFACE
PUBLIC :: util_user_name
PUBLIC :: util_os_system
PUBLIC :: util_node_name
PUBLIC :: util_get_maxrss
PUBLIC :: util_compiler_release
PUBLIC :: util_c_getpid
CONTAINS
SUBROUTINE util_user_name(name, name_len)
CHARACTER(len=*), INTENT(out) :: name
INTEGER, INTENT(out) :: name_len
CALL private_util_user_name(name, name_len)
END SUBROUTINE util_user_name
SUBROUTINE util_os_system(name, name_len)
CHARACTER(len=*), INTENT(out) :: name
INTEGER, INTENT(out) :: name_len
CALL private_util_os_system(name, name_len)
END SUBROUTINE util_os_system
SUBROUTINE util_node_name(name, name_len)
CHARACTER(len=*), INTENT(out) :: name
INTEGER, INTENT(out) :: name_len
CALL private_util_node_name(name, name_len)
END SUBROUTINE util_node_name
SUBROUTINE util_get_maxrss(maxrss)
INTEGER, INTENT(out) :: maxrss
CALL private_util_get_maxrss(maxrss)
END SUBROUTINE util_get_maxrss
SUBROUTINE util_compiler_release(release_str, rstr_len)
CHARACTER(len=*), INTENT(out) :: release_str
INTEGER, INTENT(out) :: rstr_len
CALL private_util_compiler_release(release_str, rstr_len)
END SUBROUTINE util_compiler_release
SUBROUTINE util_c_getpid(pid)
INTEGER(c_long), INTENT(out) :: pid
CALL private_util_c_getpid(pid)
END SUBROUTINE util_c_getpid
END MODULE mo_util_sysinfo