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

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

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


Revision 1.4 - (hide annotations) (download)
Wed Oct 28 03:11:34 1998 UTC (25 years, 6 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint17, checkpoint19, checkpoint18, checkpoint20, checkpoint21, checkpoint16
Changes since 1.3: +27 -14 lines
Changes to support
 - g77 compilation under Linux
 - LR(1) form of 64-bit is D or E for constants
 - Modified adjoint of exch with adjoint variables
   acuumulated.

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

  ViewVC Help
Powered by ViewVC 1.1.22