File: N:\mfix\model\location_check.f
1
2
3
4
5
6
7
8
9 SUBROUTINE LOCATION_CHECK(CELL_SPECIFIED, CELL_CALCULATED, &
10 COUNTER, MESSAGE)
11
12
13
14
15 USE geometry, only: NO_I, NO_J, NO_K
16
17 use run, only: REINITIALIZING
18
19
20 use error_manager
21
22 IMPLICIT NONE
23
24
25
26
27 INTEGER, INTENT(INOUT) :: CELL_SPECIFIED
28
29 INTEGER, INTENT(IN) :: CELL_CALCULATED
30
31 INTEGER, INTENT(IN) :: COUNTER
32
33 CHARACTER(len=*) :: MESSAGE
34
35
36
37
38 IF(REINITIALIZING) CELL_SPECIFIED = CELL_CALCULATED
39
40
41
42 IF(CELL_SPECIFIED == CELL_CALCULATED) RETURN
43
44
45 IF(NO_K .AND. (MESSAGE(6:6)=='b' .OR. MESSAGE(6:6)=='t')) RETURN
46 IF(NO_J .AND. (MESSAGE(6:6)=='s' .OR. MESSAGE(6:6)=='n')) RETURN
47 IF(NO_I .AND. (MESSAGE(6:6)=='w' .OR. MESSAGE(6:6)=='e')) RETURN
48
49 CALL INIT_ERR_MSG('LOCATION_CHECK')
50
51 WRITE(ERR_MSG, 1000) MESSAGE, COUNTER, CELL_SPECIFIED, &
52 CELL_CALCULATED
53 CALL FLUSH_ERR_MSG(ABORT=.TRUE.)
54
55 1000 FORMAT('Error 1000: IC, BC, OR IS consistency error for: ',A,/, &
56 'IC/BC/IS No',5X,'= ',I6,/,'Cell specified',2x,'= ',I6,/, &
57 'Cell calculated',1x,'= ',I6)
58
59 CALL FINL_ERR_MSG()
60
61 RETURN
62 END SUBROUTINE LOCATION_CHECK
63