/[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.6 - (show annotations) (download)
Sun Feb 4 14:38:43 2001 UTC (23 years, 3 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint40pre3, checkpoint40pre1, checkpoint40pre7, checkpoint40pre6, checkpoint40pre9, checkpoint40pre8, checkpoint38, checkpoint40pre2, checkpoint40pre4, pre38tag1, c37_adj, pre38-close, checkpoint39, checkpoint37, checkpoint36, checkpoint35, checkpoint40pre5, checkpoint40
Branch point for: pre38
Changes since 1.5: +2 -1 lines
Made sure each .F and .h file had
the CVS keywords Header and Name at its start.
Most had header but very few currently have Name, so
lots of changes!

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

  ViewVC Help
Powered by ViewVC 1.1.22