1 |
C $Header: /u/gcmpack/MITgcm/pkg/matrix/matrix_readparms.F,v 1.3 2007/11/05 18:58:00 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "MATRIX_OPTIONS.h" |
5 |
|
6 |
C !ROUTINE: MATRIX_READPARMS |
7 |
|
8 |
SUBROUTINE MATRIX_READPARMS( myThid ) |
9 |
|
10 |
C !DESCRIPTION: |
11 |
C Initialize MATRIX parameters, read in data.matrix |
12 |
|
13 |
IMPLICIT NONE |
14 |
#include "SIZE.h" |
15 |
#include "EEPARAMS.h" |
16 |
#include "PTRACERS_SIZE.h" |
17 |
#include "MATRIX.h" |
18 |
|
19 |
C !INPUT PARAMETERS: |
20 |
C myThid :: thread number |
21 |
INTEGER myThid |
22 |
|
23 |
C !OUTPUT PARAMETERS: |
24 |
C none |
25 |
C !LOCAL VARIABLES: |
26 |
C iUnit :: unit number for I/O |
27 |
C msgBuf :: message buffer |
28 |
INTEGER iUnit |
29 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
30 |
|
31 |
#ifdef ALLOW_MATRIX |
32 |
C Open and read the data.matrix file |
33 |
|
34 |
NAMELIST /MATRIX_PARM01/ expMatrixWriteTime, impMatrixWriteTime |
35 |
|
36 |
_BEGIN_MASTER(myThid) |
37 |
|
38 |
expMatrixWriteTime = 10. _d 10 |
39 |
impMatrixWriteTime = 10. _d 10 |
40 |
|
41 |
WRITE(msgBuf,'(A)') ' MATRIX_READPARMS: opening data.matrix' |
42 |
CALL PRINT_MESSAGE(msgBuf, standardMessageUnit, |
43 |
& SQUEEZE_RIGHT , 1) |
44 |
CALL OPEN_COPY_DATA_FILE( |
45 |
I 'data.matrix', 'MATRIX_READPARMS', |
46 |
O iUnit, |
47 |
I myThid ) |
48 |
READ(UNIT=iUnit,NML=MATRIX_PARM01) |
49 |
WRITE(msgBuf,'(A)') |
50 |
& ' MATRIX_READPARMS: finished reading data.matrix' |
51 |
CALL PRINT_MESSAGE(msgBuf, standardMessageUnit, |
52 |
& SQUEEZE_RIGHT , 1) |
53 |
|
54 |
C Close the open data file |
55 |
CLOSE(iUnit) |
56 |
_END_MASTER(myThid) |
57 |
|
58 |
C Everyone else must wait for the parameters to be loaded |
59 |
_BARRIER |
60 |
|
61 |
#endif /* ALLOW_MATRIX */ |
62 |
RETURN |
63 |
END |