SURFEX v8.1
General documentation of Surfex
stack_mix.F90
Go to the documentation of this file.
1 MODULE stack_mix
2 
3 USE parkind1 ,ONLY : jpim ,jprb ,jpib
4 USE yomhook ,ONLY : lhook, dr_hook
5 
6 IMPLICIT NONE
7 
8 SAVE
9 
10 INTEGER(KIND=JPIB) :: nstack0
11 CHARACTER (LEN = 4) :: chostnm
12 
13 CONTAINS
14 
15 ! A SUBROUTINE THAT USES THE STACK TO INITIALISE NSTACK0
16 
17 SUBROUTINE init_stack(K)
18 INTEGER(KIND=JPIM),INTENT(IN) :: K
19 INTEGER(KIND=JPIM) :: I(k)
20 INTEGER(KIND=JPIM) :: IDUM
21 INTEGER(KIND=JPIM) :: HOSTNM
22 #ifdef SV2
23 INTEGER(KIND=JPIM) :: JUNAM, ILEN, IERROR
24 #endif
25 REAL(KIND=JPRB) :: ZHOOK_HANDLE
26 IF (lhook) CALL dr_hook('STACK_MIX:INIT_STACK',0,zhook_handle)
27 #ifdef SV2
28 CALL pxfstrget(junam,'MACHINE',idum,ilen,ierror)
29 #else
30 idum=hostnm(chostnm)
31 #endif
33 CALL init_stack1(k,i)
34 IF (lhook) CALL dr_hook('STACK_MIX:INIT_STACK',1,zhook_handle)
35 END SUBROUTINE init_stack
36 
37 SUBROUTINE init_stack1(K,K_I)
38 INTEGER(KIND=JPIM),INTENT(IN) :: K
39 INTEGER(KIND=JPIM),INTENT(OUT) :: K_I(k)
40 k_i(:)=0
41 END SUBROUTINE init_stack1
42 
43 SUBROUTINE getstackusagex(K)
44 INTEGER(KIND=JPIB),INTENT(OUT) :: K
45 REAL(KIND=JPRB) :: ZHOOK_HANDLE
46 IF (lhook) CALL dr_hook('STACK_MIX:GETSTACKUSAGEX',0,zhook_handle)
47 CALL getstackusagem(k)
48 IF (lhook) CALL dr_hook('STACK_MIX:GETSTACKUSAGEX',1,zhook_handle)
49 END SUBROUTINE getstackusagex
50 
51 SUBROUTINE getstackusagem(K)
52 INTEGER(KIND=JPIB),INTENT(OUT) :: K
53 INTEGER(KIND=JPIM) :: GETSTACKUSAGE
54 k=getstackusage()
55 END SUBROUTINE getstackusagem
56 
57 END MODULE stack_mix
subroutine init_stack1(K, K_I)
Definition: stack_mix.F90:38
subroutine getstackusagex(K)
Definition: stack_mix.F90:44
subroutine getstackusagem(K)
Definition: stack_mix.F90:52
integer, parameter jpim
Definition: parkind1.F90:13
integer, parameter jprb
Definition: parkind1.F90:32
integer(kind=jpib) nstack0
Definition: stack_mix.F90:10
logical lhook
Definition: yomhook.F90:15
subroutine init_stack(K)
Definition: stack_mix.F90:18
integer, parameter jpib
Definition: parkind1.F90:14
character(len=4) chostnm
Definition: stack_mix.F90:11