/[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.10 - (hide annotations) (download)
Tue Apr 21 16:01:32 2009 UTC (15 years, 1 month ago) by jmc
Branch: MAIN
CVS Tags: checkpoint61m
Changes since 1.9: +20 -15 lines
- add parameter (maxLengthPrt1D) to reduce length of 1.D array print in STDOUT

1 jmc 1.10 C $Header: /u/gcmpack/MITgcm/eesupp/src/eewrite_eeenv.F,v 1.9 2004/03/27 03:51:51 edhill 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     WRITE(msgBuf,'(A,L4,A)') 'useCoupler=', useCoupler,
158     & ' ; /* Flag used to control communications with */'
159     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
160     & SQUEEZE_RIGHT , 1)
161     WRITE(msgBuf,'(A,A,A)') ' ', ' ' ,
162     & ' /* other model components, through a coupler */'
163     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
164     & SQUEEZE_RIGHT , 1)
165    
166 jmc 1.10 CALL WRITE_0D_L( printMapIncludesZeros, INDEX_NONE,
167     & 'printMapIncludesZeros=',
168     & ' /* print zeros in Std.Output maps */' )
169     CALL WRITE_0D_I( maxLengthPrt1D, INDEX_NONE, 'maxLengthPrt1D=',
170     & ' /* max length of 1.D array printed to Std.Out */' )
171 cnh 1.1
172     WRITE(msgBuf,'(A)') ' '
173     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
174     & SQUEEZE_RIGHT , 1)
175    
176     C
177     RETURN
178     END

  ViewVC Help
Powered by ViewVC 1.1.22