SURFEX v8.1
General documentation of Surfex
getmemvals.F90
Go to the documentation of this file.
1 SUBROUTINE getmemvals(N, KEY, KVAL)
2 USE parkind1 ,ONLY : jpim ,jprb ,jpib
3 IMPLICIT NONE
4 INTEGER(KIND=JPIM), INTENT(IN) :: N, KEY(n)
5 INTEGER(KIND=JPIB), INTENT(OUT):: KVAL(n)
6 !--------------------------------- key ----------------------------------------------
7 INTEGER(KIND=JPIB), EXTERNAL :: GETHWM ! 1 High Water Mark for HEAP-alloc
8 INTEGER(KIND=JPIB), EXTERNAL :: GETMAXRSS ! 2 Maximum resident memory so far
9 INTEGER(KIND=JPIB), EXTERNAL :: GETCURHEAP! 3 Instantaneous allocation from ALLOCATE/malloc
10 INTEGER(KIND=JPIB), EXTERNAL :: GETSTK ! 4 Instantaneous stack usage
11 INTEGER(KIND=JPIB), EXTERNAL :: GETMAXSTK ! 5 Maximum stack usage so far
12 INTEGER(KIND=JPIB), EXTERNAL :: GETPAG ! 6 I/O caused by paging
13 ! -- add more as required (all 64-bit integers upon return, though) --
14 
15 INTEGER(KIND=JPIM) J
16 
17 DO j=1,n
18  IF (key(j) == 1) THEN
19  kval(j) = gethwm()
20  ELSE IF (key(j) == 2) THEN
21  kval(j) = getmaxrss()
22  ELSE IF (key(j) == 3) THEN
23  kval(j) = getcurheap()
24  ELSE IF (key(j) == 4) THEN
25  kval(j) = getstk()
26  ELSE IF (key(j) == 5) THEN
27  kval(j) = getmaxstk()
28  ELSE IF (key(j) == 6) THEN
29  kval(j) = getpag()
30  ENDIF
31 ENDDO
32 
33 END SUBROUTINE getmemvals
integer, parameter jpim
Definition: parkind1.F90:13
integer, parameter jprb
Definition: parkind1.F90:32
integer, parameter jpib
Definition: parkind1.F90:14
subroutine getmemvals(N, KEY, KVAL)
Definition: getmemvals.F90:2