/[MITgcm]/MITgcm/model/src/config_summary.F
ViewVC logotype

Diff of /MITgcm/model/src/config_summary.F

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

revision 1.10 by cnh, Mon May 25 21:29:44 1998 UTC revision 1.18 by cnh, Fri Nov 6 22:44:45 1998 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2    
3  #include "CPP_EEOPTIONS.h"  #include "CPP_OPTIONS.h"
4    
5  CStartOfInterface  CStartOfInterface
6        SUBROUTINE CONFIG_SUMMARY( myThid )        SUBROUTINE CONFIG_SUMMARY( myThid )
# Line 36  C     == Local variables == Line 36  C     == Local variables ==
36        INTEGER                  bi, bj        INTEGER                  bi, bj
37        REAL                     xcoord(Nx)        REAL                     xcoord(Nx)
38        REAL                     ycoord(Ny)        REAL                     ycoord(Ny)
39        REAL                     zcoord(Nz)        REAL                     rcoord(Nr)
40    
41    
42        _BARRIER        _BARRIER
# Line 44  C     == Local variables == Line 44  C     == Local variables ==
44    
45        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
46       &'// ======================================================='       &'// ======================================================='
47        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
48         &                    SQUEEZE_RIGHT , 1)
49        WRITE(msgBuf,'(A)') '// Model configuration'        WRITE(msgBuf,'(A)') '// Model configuration'
50        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
51         &                    SQUEEZE_RIGHT , 1)
52        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
53       &'// ======================================================='       &'// ======================================================='
54        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
55       &  SQUEEZE_RIGHT , 1)       &  SQUEEZE_RIGHT , 1)
56    
57        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
58        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
59        WRITE(msgBuf,'(A)') '// "Physical" paramters ( PARM01 in namelist ) '       &                    SQUEEZE_RIGHT , 1)
60        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        WRITE(msgBuf,'(A)')
61         & '// "Physical" paramters ( PARM01 in namelist ) '
62          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
63         &                    SQUEEZE_RIGHT , 1)
64        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
65        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
66        CALL WRITE_1D_R8( tRef, Nz, INDEX_K,'tRef =',       &                    SQUEEZE_RIGHT , 1)
67          CALL WRITE_1D_R8( tRef, Nr, INDEX_K,'tRef =',
68       &'   /* Reference temperature profile ( oC or oK ) */')       &'   /* Reference temperature profile ( oC or oK ) */')
69        CALL WRITE_1D_R8( sRef, Nz, INDEX_K,'sRef =',        CALL WRITE_1D_R8( sRef, Nr, INDEX_K,'sRef =',
70       &'   /* Reference salinity profile ( ppt ) */')       &'   /* Reference salinity profile ( ppt ) */')
71        CALL WRITE_1D_R8( viscAh, 1, INDEX_NONE,'viscAh =',        CALL WRITE_1D_R8( viscAh, 1, INDEX_NONE,'viscAh =',
72       &'   /* Lateral eddy viscosity ( m^2/s ) */')       &'   /* Lateral eddy viscosity ( m^2/s ) */')
73        CALL WRITE_1D_R8( viscAz, 1, INDEX_NONE,'viscAz =',        CALL WRITE_1D_R8( viscA4, 1, INDEX_NONE,'viscAh =',
74       &'   /* Vertical eddy viscosity ( m^2/s ) */')       &'   /* Lateral biharmonic viscosity ( m^4/s ) */')
75          IF ( viscAz .NE. UNSET_RL ) THEN
76           CALL WRITE_1D_R8( viscAz, 1, INDEX_NONE,'viscAz =',
77         & '   /* Vertical eddy viscosity ( m^2/s ) */')
78          ENDIF
79          IF ( viscAp .NE. UNSET_RL ) THEN
80           CALL WRITE_1D_R8( viscAp, 1, INDEX_NONE,'viscAp =',
81         & '   /* Vertical eddy viscosity ( Pa^2/s ) */')
82          ENDIF
83          CALL WRITE_1D_R8( viscAr, 1, INDEX_NONE,'viscAr =',
84         &'   /* Vertical eddy viscosity ( units of r^2/s ) */')
85        CALL WRITE_1D_R8( diffKhT, 1, INDEX_NONE,'diffKhT =',        CALL WRITE_1D_R8( diffKhT, 1, INDEX_NONE,'diffKhT =',
86       &'   /* Laplacian diffusion of heat laterally ( m^2/s ) */')       &'   /* Laplacian diffusion of heat laterally ( m^2/s ) */')
87        CALL WRITE_1D_R8( diffKzT, 1, INDEX_NONE,'diffKzT =',        CALL WRITE_1D_R8( diffKzT, 1, INDEX_NONE,'diffKzT =',
# Line 82  C     == Local variables == Line 98  C     == Local variables ==
98       &'   /* Linear EOS thermal expansion coefficient ( 1/degree ) */')       &'   /* Linear EOS thermal expansion coefficient ( 1/degree ) */')
99        CALL WRITE_1D_R8( sBeta, 1, INDEX_NONE,'sBeta =',        CALL WRITE_1D_R8( sBeta, 1, INDEX_NONE,'sBeta =',
100       &'   /* Linear EOS haline contraction coefficient ( 1/ppt ) */')       &'   /* Linear EOS haline contraction coefficient ( 1/ppt ) */')
101          IF ( eosType .EQ. 'POLY3' ) THEN
102            WRITE(msgBuf,'(A)')
103         &   '// Polynomial EQS parameters ( from POLY3.COEFFS ) '
104            DO K = 1, Nr
105             WRITE(msgBuf,'(I3,13F8.3)')
106         &   K,eosRefT(K),eosRefS(K),eosSig0(K), (eosC(I,K),I=1,9)
107             CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
108         &                    SQUEEZE_RIGHT , 1)
109            ENDDO
110          ENDIF
111        CALL WRITE_1D_R8( rhonil,1, INDEX_NONE,'rhonil =',        CALL WRITE_1D_R8( rhonil,1, INDEX_NONE,'rhonil =',
112       &'   /* Reference density ( kg/m^3 ) */')       &'   /* Reference density ( kg/m^3 ) */')
113        CALL WRITE_1D_R8( gravity,1, INDEX_NONE,'gravity =',        CALL WRITE_1D_R8( gravity,1, INDEX_NONE,'gravity =',
# Line 111  C     == Local variables == Line 137  C     == Local variables ==
137        CALL WRITE_1D_L( momForcing,1, INDEX_NONE,        CALL WRITE_1D_L( momForcing,1, INDEX_NONE,
138       & 'momForcing =', '  /* Momentum forcing on/off flag */')       & 'momForcing =', '  /* Momentum forcing on/off flag */')
139        CALL WRITE_1D_L( momPressureForcing,1, INDEX_NONE,        CALL WRITE_1D_L( momPressureForcing,1, INDEX_NONE,
140       & 'momPressureForcing =', '  /* Momentum pressure term on/off flag */')       & 'momPressureForcing =',  
141         & '  /* Momentum pressure term on/off flag */')
142        CALL WRITE_1D_L( tempStepping,1, INDEX_NONE,        CALL WRITE_1D_L( tempStepping,1, INDEX_NONE,
143       & 'tempStepping =', '  /* Temperature equation on/off flag */')       & 'tempStepping =', '  /* Temperature equation on/off flag */')
144        CALL WRITE_1D_R8( GMMaxSlope,1, INDEX_NONE,'GMMaxSlope =',        CALL WRITE_1D_R8( GMMaxSlope,1, INDEX_NONE,'GMMaxSlope =',
# Line 125  C     == Local variables == Line 152  C     == Local variables ==
152        CALL WRITE_1D_R8( GMkbackground,1, INDEX_NONE,'GMkbackground =',        CALL WRITE_1D_R8( GMkbackground,1, INDEX_NONE,'GMkbackground =',
153       &'   /* background value of GM/Redi coefficient m^2/s */')       &'   /* background value of GM/Redi coefficient m^2/s */')
154        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
155        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
156         &                    SQUEEZE_RIGHT , 1)
157    
158        WRITE(msgBuf,'(A)') '// Elliptic solver(s) paramters ( PARM02 in namelist ) '        WRITE(msgBuf,'(A)')
159        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)       & '// Elliptic solver(s) paramters ( PARM02 in namelist ) '
160          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
161         &                    SQUEEZE_RIGHT , 1)
162        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
163        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
164         &                    SQUEEZE_RIGHT , 1)
165        CALL WRITE_1D_I( cg2dMaxIters,1, INDEX_NONE,'cg2dMaxIters =',        CALL WRITE_1D_I( cg2dMaxIters,1, INDEX_NONE,'cg2dMaxIters =',
166       &'   /* Upper limit on 2d con. grad iterations  */')       &'   /* Upper limit on 2d con. grad iterations  */')
167        CALL WRITE_1D_I( cg2dChkResFreq,1, INDEX_NONE,'cg2dChkResFreq =',        CALL WRITE_1D_I( cg2dChkResFreq,1, INDEX_NONE,'cg2dChkResFreq =',
168       &'   /* 2d con. grad convergence test frequency */')       &'   /* 2d con. grad convergence test frequency */')
169        CALL WRITE_1D_R8( cg2dTargetResidual,1, INDEX_NONE,'cg2dTargetResidual =',        CALL WRITE_1D_R8( cg2dTargetResidual,1, INDEX_NONE,
170         & 'cg2dTargetResidual =',
171       &'   /* 2d con. grad target residual  */')       &'   /* 2d con. grad target residual  */')
172    
173        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
174        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
175        WRITE(msgBuf,'(A)') '// Time stepping paramters ( PARM03 in namelist ) '       &                    SQUEEZE_RIGHT , 1)
176        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        WRITE(msgBuf,'(A)')
177         & '// Time stepping paramters ( PARM03 in namelist ) '
178          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
179         &                    SQUEEZE_RIGHT , 1)
180        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
181        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
182         &                    SQUEEZE_RIGHT , 1)
183        CALL WRITE_1D_I( nIter0,1, INDEX_NONE,'nIter0 =',        CALL WRITE_1D_I( nIter0,1, INDEX_NONE,'nIter0 =',
184       &'   /* Base timestep number  */')       &'   /* Base timestep number  */')
185        CALL WRITE_1D_I( nTimeSteps,1, INDEX_NONE,'nTimeSteps =',        CALL WRITE_1D_I( nTimeSteps,1, INDEX_NONE,'nTimeSteps =',
# Line 152  C     == Local variables == Line 188  C     == Local variables ==
188       &'   /* Momentum equation timestep ( s ) */')       &'   /* Momentum equation timestep ( s ) */')
189        CALL WRITE_1D_R8( deltaTtracer,1, INDEX_NONE,'deltatTtracer =',        CALL WRITE_1D_R8( deltaTtracer,1, INDEX_NONE,'deltatTtracer =',
190       &'   /* Tracer equation timestep ( s ) */')       &'   /* Tracer equation timestep ( s ) */')
191          CALL WRITE_1D_R8( deltaTClock ,1, INDEX_NONE,'deltatTClock  =',
192         &'   /* Model clock timestep ( s ) */')
193        CALL WRITE_1D_R8( cAdjFreq,1, INDEX_NONE,'cAdjFreq =',        CALL WRITE_1D_R8( cAdjFreq,1, INDEX_NONE,'cAdjFreq =',
194       &'   /* Convective adjustment interval ( s ) */')       &'   /* Convective adjustment interval ( s ) */')
195        CALL WRITE_1D_R8( abEps,1, INDEX_NONE,'abEps =',        CALL WRITE_1D_R8( abEps,1, INDEX_NONE,'abEps =',
# Line 172  C     == Local variables == Line 210  C     == Local variables ==
210       &'   /* Model state write out interval ( s ). */')       &'   /* Model state write out interval ( s ). */')
211    
212        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
213        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
214        WRITE(msgBuf,'(A)') '// Gridding paramters ( PARM04 in namelist ) '       &                    SQUEEZE_RIGHT , 1)
215        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        WRITE(msgBuf,'(A)')
216         & '// Gridding paramters ( PARM04 in namelist ) '
217          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
218         &                    SQUEEZE_RIGHT , 1)
219        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
220        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1)        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
221        CALL WRITE_1D_L( usingCartesianGrid,1, INDEX_NONE,'usingCartesianGrid =',       &                    SQUEEZE_RIGHT , 1)
222          CALL WRITE_1D_L( usingCartesianGrid,1, INDEX_NONE,
223         & 'usingCartesianGrid =',
224       &'   /* Cartesian coordinates flag ( True / False ) */')       &'   /* Cartesian coordinates flag ( True / False ) */')
225        CALL WRITE_1D_L( usingSphericalPolarGrid,1, INDEX_NONE,'usingSphericalPolarGrid =',        CALL WRITE_1D_L( usingSphericalPolarGrid,1, INDEX_NONE,
226         & 'usingSphericalPolarGrid =',
227       &'   /* Spherical coordinates flag ( True / False ) */')       &'   /* Spherical coordinates flag ( True / False ) */')
228        CALL WRITE_1D_R8( delZ,Nz, INDEX_K,'delZ = ',        CALL WRITE_1D_R8( delZ,Nr, INDEX_K,'delZ = ',
229       &'   /* W spacing ( m ) */')       &'   /* W spacing ( m ) */')
230          CALL WRITE_1D_R8( delP,Nr, INDEX_K,'delP = ',
231         &'   /* W spacing ( Pa ) */')
232          CALL WRITE_1D_R8( delR,Nr, INDEX_K,'delR = ',
233         &'   /* W spacing ( units of r ) */')
234        CALL WRITE_1D_R8( delX, Nx, INDEX_I,'delX = ',        CALL WRITE_1D_R8( delX, Nx, INDEX_I,'delX = ',
235       &'   /* U spacing ( m - cartesian, degrees - spherical ) */')       &'   /* U spacing ( m - cartesian, degrees - spherical ) */')
236        CALL WRITE_1D_R8( delY, Ny, INDEX_J,'delY = ',        CALL WRITE_1D_R8( delY, Ny, INDEX_J,'delY = ',
237       &'   /* V spacing ( m - cartesian, degrees - spherical ) */')       &'   /* V spacing ( m - cartesian, degrees - spherical ) */')
238        CALL WRITE_1D_R8( phiMin, 1, INDEX_NONE,'phiMin = ',        CALL WRITE_1D_R8( phiMin, 1, INDEX_NONE,'phiMin = ',
239       &'   /* Southern boundary ( ignored - cartesian, degrees - spherical ) */')       &'   /* South edge (ignored - cartesian, degrees - spherical ) */')
240        CALL WRITE_1D_R8( thetaMin, 1, INDEX_NONE,'thetaMin = ',        CALL WRITE_1D_R8( thetaMin, 1, INDEX_NONE,'thetaMin = ',
241       &'   /* Western boundary ( ignored - cartesian, degrees - spherical ) */')       &'   /* West edge ( ignored - cartesian, degrees - spherical ) */')
242        CALL WRITE_1D_R8( rSphere, 1, INDEX_NONE,'rSphere = ',        CALL WRITE_1D_R8( rSphere, 1, INDEX_NONE,'rSphere = ',
243       &'   /* Radius ( ignored - cartesian, m - spherical ) */')       &'   /* Radius ( ignored - cartesian, m - spherical ) */')
244        DO bi=1,nSx        DO bi=1,nSx
# Line 198  C     == Local variables == Line 246  C     == Local variables ==
246          xcoord((bi-1)*sNx+I) = xc(I,1,bi,1)          xcoord((bi-1)*sNx+I) = xc(I,1,bi,1)
247         ENDDO         ENDDO
248        ENDDO        ENDDO
249        CALL WRITE_1D_R8( xcoord, Nx, INDEX_I,'xcoord = ',        CALL WRITE_1D_R8( xcoord, sNx*nSx, INDEX_I,'xcoord = ',
250       &'   /* P-point X coordinate (  m - cartesian, degrees - spherical ) */')       &'   /* P-point X coord ( m - cartesian, degrees - spherical ) */')
251        DO bj=1,nSy        DO bj=1,nSy
252         DO J=1,sNy         DO J=1,sNy
253          ycoord((bj-1)*sNy+J) = yc(1,J,1,bj)          ycoord((bj-1)*sNy+J) = yc(1,J,1,bj)
254         ENDDO         ENDDO
255        ENDDO        ENDDO
256        CALL WRITE_1D_R8( ycoord, Ny, INDEX_J,'ycoord = ',        CALL WRITE_1D_R8( ycoord, sNy*nSy, INDEX_J,'ycoord = ',
257       &'   /* P-point Y coordinate (  m - cartesian, degrees - spherical ) */')       &'   /* P-point Y coord ( m - cartesian, degrees - spherical ) */')
258        DO K=1,Nz        DO K=1,Nr
259         zcoord(K) = zc(K)         rcoord(K) = rc(K)
260        ENDDO        ENDDO
261        CALL WRITE_1D_R8( zcoord, Nz, INDEX_K,'zcoord = ',        CALL WRITE_1D_R8( rcoord, Nr, INDEX_K,'rcoord = ',
262       &'   /* P-point Z coordinate (  m ) */')       &'   /* P-point R coordinate (  units of r ) */')
263    
264    
265    

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22