/[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.5 - (show annotations) (download)
Tue May 18 17:39:21 1999 UTC (25 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint28, checkpoint29, checkpoint22, checkpoint23, checkpoint24, checkpoint25, checkpoint27, branch-atmos-merge-freeze, branch-atmos-merge-start, checkpoint26, branch-atmos-merge-shapiro, checkpoint33, checkpoint32, checkpoint31, checkpoint30, checkpoint34, branch-atmos-merge-zonalfilt, branch-atmos-merge-phase5, branch-atmos-merge-phase4, branch-atmos-merge-phase7, branch-atmos-merge-phase6, branch-atmos-merge-phase1, branch-atmos-merge-phase3, branch-atmos-merge-phase2
Branch point for: branch-atmos-merge
Changes since 1.4: +2 -1 lines
Added IMPLICIT NONE where missing and changed formatting from 'I' to 'I5'.

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

  ViewVC Help
Powered by ViewVC 1.1.22