File: /nfs/home/0/users/jenkins/mfix.git/model/machine.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                      C
3     !  Module name: MACHINE_CONS                                           C
4     !  Purpose: set the machine constants    ( SGI ONLY )                  C
5     !                                                                      C
6     !  Author: P. Nicoletti                               Date: 28-JAN-92  C
7     !  Reviewer: P. Nicoletti, W. Rogers, M. Syamlal      Date:            C
8     !                                                                      C
9     !  Revision Number:                                                    C
10     !  Purpose:                                                            C
11     !  Author:                                            Date: dd-mmm-yy  C
12     !  Reviewer:                                          Date: dd-mmm-yy  C
13     !                                                                      C
14     !  Literature/Document References:                                     C
15     !                                                                      C
16     !  Variables referenced: None                                          C
17     !  Variables modified: OPEN_N1, NWORDS_DP, NWORDS_R, N_WORDS_I         C
18     !                                                                      C
19     !  Local variables: None                                               C
20     !                                                                      C
21     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
22     !
23           SUBROUTINE MACHINE_CONS
24     !
25     !
26           Use machine
27           IMPLICIT NONE
28     !
29           OPEN_N1   = 512
30           NWORDS_DP =  64
31           NWORDS_R  = 128
32           NWORDS_I  = 128
33           JUST_FLUSH = .TRUE.
34     !
35           RETURN
36           END
37     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
38     !                                                                      C
39     !  Module name: GET_RUN_ID                                             C
40     !  Purpose: get the run id for this run                                C
41     !                                                                      C
42     !  Author: P. Nicoletti                               Date: 16-DEC-91  C
43     !  Reviewer: P. Nicoletti, W. Rogers, M. Syamlal      Date:            C
44     !                                                                      C
45     !  Revision Number: 1                                                  C
46     !  Purpose: add ndoe name                                              C
47     !  Author: P.Nicoletti                                Date: 07-FEB-92  C
48     !  Reviewer:                                          Date: dd-mmm-yy  C
49     !                                                                      C
50     !  Literature/Document References:                                     C
51     !                                                                      C
52     !  Variables referenced: None                                          C
53     !  Variables modified: ID_MONTH, ID_DAY, ID_YEAR, ID_HOUR, ID_MINUTE   C
54     !                      ID_SECOND, ID_NODE                              C
55     !                                                                      C
56     !  Local variables: TIME_ARRAY                                         C
57     !                                                                      C
58     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
59     !
60           SUBROUTINE GET_RUN_ID
61     !
62           USE param
63           USE run
64           IMPLICIT NONE
65     !
66     !             temporary array to hold time data
67           INTEGER DAT(8)
68           CHARACTER(LEN=10) DATE, TIM, ZONE
69     
70           CALL DATE_AND_TIME(DATE, TIM, ZONE, DAT)
71           ID_YEAR   = DAT(1)
72           ID_MONTH  = DAT(2)
73           ID_DAY    = DAT(3)
74           ID_HOUR   = DAT(5)
75           ID_MINUTE = DAT(6)
76           ID_SECOND = DAT(7)
77     
78     !     For SGI only
79     !      CALL GETHOSTNAME(ID_NODE,64)
80     !     For Linux with Portland Group compilers
81           CALL GET_ENVIRONMENT_VARIABLE('HOSTNAME',ID_NODE)
82     !
83           RETURN
84           END
85     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
86     !                                                                      C
87     !  Function name: WALL_TIME (CPU)                                      C
88     !  Purpose: returns wall time since start of the run                   C
89     !                                                                      C
90     !  Author: P. Nicoletti                               Date: 10-JAN-92  C
91     !  Reviewer: P. Nicoletti, W. Rogers, M. Syamlal      Date:            C
92     !                                                                      C
93     !  Revision Number:                                                    C
94     !  Purpose:                                                            C
95     !  Author:                                            Date: dd-mmm-yy  C
96     !  Reviewer:                                          Date: dd-mmm-yy  C
97     !                                                                      C
98     !  Literature/Document References:                                     C
99     !                                                                      C
100     !  Variables referenced: None                                          C
101     !  Variables modified: None                                            C
102     !                                                                      C
103     !  Local variables: TA, XT                                             C
104     !                                                                      C
105     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
106     !
107           DOUBLE PRECISION FUNCTION WALL_TIME()
108     !
109           IMPLICIT NONE
110     
111           INTEGER, SAVE :: COUNT_OLD=0, WRAP=0
112     !
113     ! local variables
114     !                       clock cycle
115           INTEGER           COUNT
116     
117     !                       number of cycles per second
118           INTEGER           COUNT_RATE
119     
120     !                       max number of cycles, after which count is reset to 0
121           INTEGER           COUNT_MAX
122     
123           CALL SYSTEM_CLOCK(COUNT, COUNT_RATE, COUNT_MAX)
124           IF(COUNT_OLD .GT. COUNT) THEN
125             WRAP = WRAP + 1
126           ENDIF
127           COUNT_OLD = COUNT
128     
129           WALL_TIME      = DBLE(COUNT)/DBLE(COUNT_RATE) &
130                          + DBLE(WRAP) * DBLE(COUNT_MAX)/DBLE(COUNT_RATE)
131           END
132     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
133     !                                                                      C
134     !  Module name: START_LOG                                              C
135     !  Purpose: does nothing ... for VAX/VMS compatibility (SGI ONLY)      C
136     !                                                                      C
137     !  Author: P. Nicoletti                               Date: 28-JAN-92  C
138     !  Reviewer: P. Nicoletti, W. Rogers, M. Syamlal      Date:            C
139     !                                                                      C
140     !  Revision Number:                                                    C
141     !  Purpose:                                                            C
142     !  Author:                                            Date: dd-mmm-yy  C
143     !  Reviewer:                                          Date: dd-mmm-yy  C
144     !                                                                      C
145     !  Literature/Document References:                                     C
146     !                                                                      C
147     !  Variables referenced: None                                          C
148     !  Variables modified: None                                            C
149     !                                                                      C
150     !  Local variables: None                                               C
151     !                                                                      C
152     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
153     !
154           SUBROUTINE START_LOG
155           IMPLICIT NONE
156           RETURN
157           END
158     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
159     !                                                                      C
160     !  Module name: END_LOG                                                C
161     !  Purpose: flushes the log file                                       C
162     !                                                                      C
163     !  Author: P. Nicoletti                               Date: 28-JAN-92  C
164     !  Reviewer: P. Nicoletti, W. Rogers, M. Syamlal      Date:            C
165     !                                                                      C
166     !  Revision Number:                                                    C
167     !  Purpose:                                                            C
168     !  Author:                                            Date: dd-mmm-yy  C
169     !  Reviewer:                                          Date: dd-mmm-yy  C
170     !                                                                      C
171     !  Literature/Document References:                                     C
172     !                                                                      C
173     !  Variables referenced: None                                          C
174     !  Variables modified: None                                            C
175     !                                                                      C
176     !  Local variables: None                                               C
177     !                                                                      C
178     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
179     !
180           SUBROUTINE END_LOG
181           USE funits
182           IMPLICIT NONE
183           IF(DMP_LOG) FLUSH(UNIT_LOG)
184           RETURN
185           END
186     
187           subroutine slumber
188           return
189           end
190     
191           subroutine pc_quickwin
192           return
193           end
194     
195           subroutine ran
196           return
197           end
198     
199           subroutine flush_bin(iunit)
200           implicit none
201           integer :: iunit
202     
203           flush(iunit)
204           return
205           end
206     
207           subroutine flush_res(iunit)
208           implicit none
209           integer :: iunit
210           flush(iunit)
211           return
212           end
213