/[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.11 - (hide annotations) (download)
Thu May 7 18:30:07 2009 UTC (15 years, 1 month ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62c, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62w, checkpoint62y, checkpoint62x, checkpoint62, checkpoint62b, checkpoint61n, checkpoint61q, checkpoint61o, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.10: +14 -11 lines
change previous modif: print parameter on 1 line simply using PRINT_MESSAGE

1 jmc 1.11 C $Header: /u/gcmpack/MITgcm/eesupp/src/eewrite_eeenv.F,v 1.10 2009/04/21 16:01:32 jmc Exp $
2 cnh 1.7 C $Name: $
3 cnh 1.1
4     #include "CPP_EEOPTIONS.h"
5    
6 cnh 1.7 CBOP
7     C !ROUTINE: EEWRITE_EEENV
8    
9     C !INTERFACE:
10 cnh 1.1 SUBROUTINE EEWRITE_EEENV
11 adcroft 1.5 IMPLICIT NONE
12 cnh 1.1
13 cnh 1.7 C !DESCRIPTION:
14     C *==========================================================*
15 jmc 1.10 C | SUBROUTINE EERWITE\_EEENV
16     C | o Write execution environment summary
17 cnh 1.7 C *==========================================================*
18 jmc 1.10 C | Write a summary of the execution environment as
19     C | configured for this run. The execution environment is
20     C | the computational mode in which the model operatoes. It
21     C | includes the computational grid but does not include any
22     C | model specific nuerical parameters.
23 cnh 1.7 C *==========================================================*
24    
25     C !USES:
26     C == Global data ==
27 cnh 1.1 #include "SIZE.h"
28     #include "EEPARAMS.h"
29     #include "EESUPPORT.h"
30    
31 cnh 1.7 C !LOCAL VARIABLES:
32     C == Local variables ==
33     C msgBuf :: Temp. for building text messages.
34 cnh 1.1 CHARACTER*(MAX_LEN_MBUF) msgBuf
35 cnh 1.7 CEOP
36 jmc 1.10
37     WRITE(msgBuf,'(A)')
38 cnh 1.4 & '// ======================================================='
39 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
40     & SQUEEZE_RIGHT , 1)
41    
42 jmc 1.10 WRITE(msgBuf,'(A)')
43 cnh 1.4 & '// Computational Grid Specification ( see files "SIZE.h" )'
44 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
45     & SQUEEZE_RIGHT , 1)
46    
47 jmc 1.10 WRITE(msgBuf,'(A)')
48 cnh 1.4 & '// ( and "eedata" )'
49 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
50     & SQUEEZE_RIGHT , 1)
51    
52 jmc 1.10 WRITE(msgBuf,'(A)')
53 cnh 1.4 & '// ======================================================='
54 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
55     & SQUEEZE_RIGHT , 1)
56    
57 cnh 1.4 WRITE(msgBuf,'(A,I5,A)') ' nPx =',nPx,
58     & ' ; /* No. processes in X */'
59 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
60     & SQUEEZE_RIGHT , 1)
61    
62 cnh 1.4 WRITE(msgBuf,'(A,I5,A)') ' nPy =',nPy,
63     & ' ; /* No. processes in Y */'
64 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
65     & SQUEEZE_RIGHT , 1)
66    
67 cnh 1.4 WRITE(msgBuf,'(A,I5,A)') ' nSx =',nSx,
68     & ' ; /* No. tiles in X per process */'
69 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
70     & SQUEEZE_RIGHT , 1)
71    
72 cnh 1.4 WRITE(msgBuf,'(A,I5,A)') ' nSy =',nSy,
73     & ' ; /* No. tiles in Y per process */'
74 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
75     & SQUEEZE_RIGHT , 1)
76    
77 cnh 1.4 WRITE(msgBuf,'(A,I5,A)') ' sNx =',sNx,
78     & ' ; /* Tile size in X */'
79 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
80     & SQUEEZE_RIGHT , 1)
81    
82 cnh 1.4 WRITE(msgBuf,'(A,I5,A)') ' sNy =',sNy,
83     & ' ; /* Tile size in Y */'
84 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
85     & SQUEEZE_RIGHT , 1)
86    
87     WRITE(msgBuf,'(A,I5,A)') ' OLx =',OLx,
88     & ' ; /* Tile overlap distance in X */'
89     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
90     & SQUEEZE_RIGHT , 1)
91    
92     WRITE(msgBuf,'(A,I5,A)') ' OLy =',OLy,
93     & ' ; /* Tile overlap distance in Y */'
94     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
95     & SQUEEZE_RIGHT , 1)
96    
97 cnh 1.4 WRITE(msgBuf,'(A,I5,A)') ' nTx =',nTx,
98     & ' ; /* No. threads in X per process */'
99 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
100     & SQUEEZE_RIGHT , 1)
101    
102 cnh 1.4 WRITE(msgBuf,'(A,I5,A)') ' nTy =',nTy,
103     & ' ; /* No. threads in Y per process */'
104 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
105     & SQUEEZE_RIGHT , 1)
106    
107 cnh 1.4 WRITE(msgBuf,'(A,I5,A)') ' Nr =', Nr,
108     & ' ; /* No. levels in the vertical */ '
109 cnh 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
110     & SQUEEZE_RIGHT , 1)
111    
112 jmc 1.10 WRITE(msgBuf,'(A,I5,A)') ' Nx =', Nx,
113 cnh 1.1 & ' ; /* Total domain size in X ( = nPx*nSx*sNx ) */'
114     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
115     & SQUEEZE_RIGHT , 1)
116    
117 jmc 1.10 WRITE(msgBuf,'(A,I5,A)') ' Ny =', Ny,
118 cnh 1.1 & ' ; /* Total domain size in Y ( = nPy*nSy*sNy ) */'
119     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
120     & SQUEEZE_RIGHT , 1)
121    
122     WRITE(msgBuf,'(A,I5,A)') ' nTiles =', nSx*nSy,
123     & ' ; /* Total no. tiles per process ( = nSx*nSy ) */'
124     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
125     & SQUEEZE_RIGHT , 1)
126    
127     WRITE(msgBuf,'(A,I5,A)') ' nProcs =', nPx*nPy,
128     & ' ; /* Total no. processes ( = nPx*nPy ) */'
129     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
130     & SQUEEZE_RIGHT , 1)
131    
132     WRITE(msgBuf,'(A,I5,A)') 'nThreads =', nTx*nTy,
133     & ' ; /* Total no. threads per process ( = nTx*nTy ) */'
134     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
135     & SQUEEZE_RIGHT , 1)
136    
137     WRITE(msgBuf,'(A,L5,A)') 'usingMPI =', usingMPI,
138     & ' ; /* Flag used to control whether MPI is in use */'
139     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
140     & SQUEEZE_RIGHT , 1)
141    
142     WRITE(msgBuf,'(A,A,A)') ' ', ' ' ,
143     & ' /* note: To execute a program with MPI calls */'
144     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
145     & SQUEEZE_RIGHT , 1)
146    
147     WRITE(msgBuf,'(A,A,A)') ' ', ' ' ,
148     & ' /* it must be launched appropriately e.g */'
149     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
150     & SQUEEZE_RIGHT , 1)
151    
152     WRITE(msgBuf,'(A,A,A)') ' ', ' ' ,
153     & ' /* "mpirun -np 64 ......" */'
154     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
155     & SQUEEZE_RIGHT , 1)
156 jmc 1.8
157 jmc 1.11 WRITE(msgBuf,'(A,L5,A)') 'useCoupler=', useCoupler,
158     & ' ;/* Flag used to control communications with */'
159 jmc 1.8 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
160     & SQUEEZE_RIGHT , 1)
161 jmc 1.11 WRITE(msgBuf,'(A,A,A)') ' ', ' ',
162     & ' /* other model components, through a coupler */'
163 jmc 1.8 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
164     & SQUEEZE_RIGHT , 1)
165    
166 jmc 1.11 WRITE(msgBuf,'(A,L5,A)')
167     & 'printMapIncludesZeros=', printMapIncludesZeros,
168     & ' ; /* print zeros in Std.Output maps */'
169     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
170     & SQUEEZE_RIGHT , 1)
171     WRITE(msgBuf,'(A,I5,A)') 'maxLengthPrt1D=', maxLengthPrt1D,
172     & ' /* maxLength of 1D array printed to StdOut */'
173     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
174     & SQUEEZE_RIGHT , 1)
175 cnh 1.1
176     WRITE(msgBuf,'(A)') ' '
177     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
178     & SQUEEZE_RIGHT , 1)
179    
180     RETURN
181     END

  ViewVC Help
Powered by ViewVC 1.1.22