File: RELATIVE:/../../../mfix.git/model/tmp_array1_mod.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
2     !                                                                      !
3     !  Module: tmp_array1                                                  !
4     !  Purpose:                                                            !
5     !     IMPORTANT:  For using these arrays in a subroutine               !
6     !     -lock the module in the beginning of the subroutine              !
7     !      call lock_tmp_array1                                            !
8     !     -and unlock the module at the end of the subroutine              !
9     !      call unlock_tmp_array1                                          !
10     ! Contains the following subroutines:                                  !
11     !      lock_tmp_array1, unlock_tmp_array1                              !
12     !                                                                      !
13     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
14     
15           MODULE tmp_array1
16     
17     ! temporary storage of dimension_3, dimension_m
18           DOUBLE PRECISION, DIMENSION(:, :), ALLOCATABLE :: &
19              ARRAYm1
20     
21           LOGICAL :: tmp_array1_locked = .false.
22     
23           CONTAINS
24     
25     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
26     !                                                                      !
27     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
28           SUBROUTINE lock_tmp_array1
29           USE compar, only: myPE
30           USE funits, only: dmp_log
31           IMPLICIT NONE
32           IF(tmp_array1_locked) THEN
33              IF(DMP_LOG) WRITE(*,*) &
34                 'Error:  Multiple use of tmp_array1 (tmp_array1_mod.f)'
35              CALL MFIX_EXIT(myPE)
36           ELSE
37              tmp_array1_locked = .true.
38           ENDIF
39           END SUBROUTINE lock_tmp_array1
40     
41     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
42     !                                                                      !
43     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
44           SUBROUTINE unlock_tmp_array1
45           IMPLICIT NONE
46           tmp_array1_locked = .false.
47           END SUBROUTINE unlock_tmp_array1
48     
49           END MODULE tmp_array1
50