/[MITgcm]/MITgcm/eesupp/src/eewrite_eeenv.F
ViewVC logotype

Contents of /MITgcm/eesupp/src/eewrite_eeenv.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Thu Apr 23 20:37:30 1998 UTC (26 years ago) by cnh
Branch: MAIN
CVS Tags: checkpoint11, checkpoint10, checkpoint13, redigm, checkpoint5, checkpoint4, checkpoint7, checkpoint6, checkpoint1, checkpoint3, checkpoint2, checkpoint9, checkpoint8, kloop1, kloop2, checkpoint12, branch-point-rdot
Branch point for: checkpoint7-4degree-ref, branch-rdot
Changes since 1.1: +1 -1 lines
Changed $Id to $Header

1 C $Header: eewrite_eeenv.F,v 1.1.1.1 1998/04/22 19:15:30 cnh Exp $
2
3 #include "CPP_EEOPTIONS.h"
4
5 CStartOfInterface
6 SUBROUTINE EEWRITE_EEENV
7 C /==========================================================\
8 C | SUBROUTINE EERWITE_EEENV |
9 C | o Write execution environment summary |
10 C |==========================================================|
11 C | Write a summary of the execution environment as |
12 C | configured for this run. The execution environment is |
13 C | the computational mode in which the model operatoes. It |
14 C | includes the computational grid but does not include any |
15 C | model specific nuerical parameters. |
16 C \==========================================================/
17
18 C === Global data ===
19 #include "SIZE.h"
20 #include "EEPARAMS.h"
21 #include "EESUPPORT.h"
22
23 CEndOfInterface
24
25 C === Local variables ===
26 CHARACTER*(MAX_LEN_MBUF) msgBuf
27
28 WRITE(msgBuf,'(A)') '// ======================================================='
29 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
30 & SQUEEZE_RIGHT , 1)
31
32 WRITE(msgBuf,'(A)') '// Computational Grid Specification ( see files "SIZE.h" )'
33 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
34 & SQUEEZE_RIGHT , 1)
35
36 WRITE(msgBuf,'(A)') '// ( and "eedata" )'
37 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
38 & SQUEEZE_RIGHT , 1)
39
40 WRITE(msgBuf,'(A)') '// ======================================================='
41 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
42 & SQUEEZE_RIGHT , 1)
43
44 WRITE(msgBuf,'(A,I5,A)') ' nPx =',nPx,' ; /* No. processes in X */'
45 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
46 & SQUEEZE_RIGHT , 1)
47
48 WRITE(msgBuf,'(A,I5,A)') ' nPy =',nPy,' ; /* No. processes in Y */'
49 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
50 & SQUEEZE_RIGHT , 1)
51
52 WRITE(msgBuf,'(A,I5,A)') ' nSx =',nSx,' ; /* No. tiles in X per process */'
53 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
54 & SQUEEZE_RIGHT , 1)
55
56 WRITE(msgBuf,'(A,I5,A)') ' nSy =',nSy,' ; /* No. tiles in Y per process */'
57 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
58 & SQUEEZE_RIGHT , 1)
59
60 WRITE(msgBuf,'(A,I5,A)') ' sNx =',sNx,' ; /* Tile size in X */'
61 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
62 & SQUEEZE_RIGHT , 1)
63
64 WRITE(msgBuf,'(A,I5,A)') ' sNy =',sNy,' ; /* Tile size in Y */'
65 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
66 & SQUEEZE_RIGHT , 1)
67
68 WRITE(msgBuf,'(A,I5,A)') ' OLx =',OLx,
69 & ' ; /* Tile overlap distance in X */'
70 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
71 & SQUEEZE_RIGHT , 1)
72
73 WRITE(msgBuf,'(A,I5,A)') ' OLy =',OLy,
74 & ' ; /* Tile overlap distance in Y */'
75 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
76 & SQUEEZE_RIGHT , 1)
77
78 WRITE(msgBuf,'(A,I5,A)') ' nTx =',nTx,' ; /* No. threads in X per process */'
79 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
80 & SQUEEZE_RIGHT , 1)
81
82 WRITE(msgBuf,'(A,I5,A)') ' nTy =',nTy,' ; /* No. threads in Y per process */'
83 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
84 & SQUEEZE_RIGHT , 1)
85
86 WRITE(msgBuf,'(A,I5,A)') ' nZ =', nZ,' ; /* No. levels in the vertical */ '
87 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
88 & SQUEEZE_RIGHT , 1)
89
90 WRITE(msgBuf,'(A,I5,A)') ' nX =', nX,
91 & ' ; /* Total domain size in X ( = nPx*nSx*sNx ) */'
92 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
93 & SQUEEZE_RIGHT , 1)
94
95 WRITE(msgBuf,'(A,I5,A)') ' nY =', nY,
96 & ' ; /* Total domain size in Y ( = nPy*nSy*sNy ) */'
97 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
98 & SQUEEZE_RIGHT , 1)
99
100 WRITE(msgBuf,'(A,I5,A)') ' nTiles =', nSx*nSy,
101 & ' ; /* Total no. tiles per process ( = nSx*nSy ) */'
102 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
103 & SQUEEZE_RIGHT , 1)
104
105 WRITE(msgBuf,'(A,I5,A)') ' nProcs =', nPx*nPy,
106 & ' ; /* Total no. processes ( = nPx*nPy ) */'
107 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
108 & SQUEEZE_RIGHT , 1)
109
110 WRITE(msgBuf,'(A,I5,A)') 'nThreads =', nTx*nTy,
111 & ' ; /* Total no. threads per process ( = nTx*nTy ) */'
112 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
113 & SQUEEZE_RIGHT , 1)
114
115 WRITE(msgBuf,'(A,L5,A)') 'usingMPI =', usingMPI,
116 & ' ; /* Flag used to control whether MPI is in use */'
117 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
118 & SQUEEZE_RIGHT , 1)
119
120 WRITE(msgBuf,'(A,A,A)') ' ', ' ' ,
121 & ' /* note: To execute a program with MPI calls */'
122 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
123 & SQUEEZE_RIGHT , 1)
124
125 WRITE(msgBuf,'(A,A,A)') ' ', ' ' ,
126 & ' /* it must be launched appropriately e.g */'
127 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
128 & SQUEEZE_RIGHT , 1)
129
130 WRITE(msgBuf,'(A,A,A)') ' ', ' ' ,
131 & ' /* "mpirun -np 64 ......" */'
132 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
133 & SQUEEZE_RIGHT , 1)
134
135 WRITE(msgBuf,'(A)') ' '
136 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
137 & SQUEEZE_RIGHT , 1)
138
139 C
140 RETURN
141 END

  ViewVC Help
Powered by ViewVC 1.1.22