/[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.105 by jmc, Sun Mar 30 19:10:59 2008 UTC revision 1.106 by jmc, Sun Mar 30 21:45:11 2008 UTC
# Line 44  C     !FUNCTIONS: Line 44  C     !FUNCTIONS:
44  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
45  C     msgBuf :: Temp. for building output string.  C     msgBuf :: Temp. for building output string.
46  C     rUnits :: vertical coordinate units  C     rUnits :: vertical coordinate units
47    C     ioUnit :: Temp. for fortran I/O unit
48  C     I,J,K  :: Loop counters.  C     I,J,K  :: Loop counters.
49  C     bi,bj  :: Tile loop counters.  C     bi,bj  :: Tile loop counters.
50  C     xcoord :: Temps. for building lists of values for uni-dimensionally  C     xcoord :: Temps. for building lists of values for uni-dimensionally
51  C     ycoord :: varying parameters.  C     ycoord :: varying parameters.
52        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
53        CHARACTER*2 rUnits        CHARACTER*2 rUnits
54        INTEGER                  I,J,K        INTEGER ioUnit
55        INTEGER                  bi, bj        INTEGER I,J,K
56        _RL                     xcoord(Nx)        INTEGER bi, bj
57        _RL                     ycoord(Ny)        _RL     xcoord(Nx)
58        _RL                     rcoord(Nr+1)        _RL     ycoord(Ny)
59          _RL     rcoord(Nr+1)
60        INTEGER coordLine        INTEGER coordLine
61        INTEGER tileLine        INTEGER tileLine
62    
# Line 62  C     ycoord :: varying parameters. Line 64  C     ycoord :: varying parameters.
64        _BARRIER        _BARRIER
65        _BEGIN_MASTER(myThid)        _BEGIN_MASTER(myThid)
66    
67          ioUnit = standardMessageUnit
68        rUnits = ' m'        rUnits = ' m'
69        IF ( usingPCoords ) rUnits = 'Pa'        IF ( usingPCoords ) rUnits = 'Pa'
70    
71        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
72       &'// ======================================================='       &'// ======================================================='
73        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
74        WRITE(msgBuf,'(A)') '// Model configuration'        WRITE(msgBuf,'(A)') '// Model configuration'
75        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
76        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
77       &'// ======================================================='       &'// ======================================================='
78        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
79    
80        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
81        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
82        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
83       & '// "Physical" paramters ( PARM01 in namelist ) '       & '// "Physical" paramters ( PARM01 in namelist ) '
84        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
85        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
86        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
87        CALL WRITE_0D_C( buoyancyRelation, -1, INDEX_NONE,        CALL WRITE_0D_C( buoyancyRelation, -1, INDEX_NONE,
88       & 'buoyancyRelation =', ' /* Type of relation to get Buoyancy */')       & 'buoyancyRelation =', ' /* Type of relation to get Buoyancy */')
89        CALL WRITE_0D_L( fluidIsAir,   INDEX_NONE,        CALL WRITE_0D_L( fluidIsAir,   INDEX_NONE,
# Line 199  C     ycoord :: varying parameters. Line 196  C     ycoord :: varying parameters.
196          DO K = 1, Nr          DO K = 1, Nr
197           WRITE(msgBuf,'(I3,13F8.3)')           WRITE(msgBuf,'(I3,13F8.3)')
198       &   K,eosRefT(K),eosRefS(K),eosSig0(K), (eosC(I,K),I=1,9)       &   K,eosRefT(K),eosRefS(K),eosSig0(K), (eosC(I,K),I=1,9)
199           CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,           CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                       SQUEEZE_RIGHT, myThid )  
200          ENDDO          ENDDO
201        ENDIF        ENDIF
202        IF ( fluidIsAir ) THEN        IF ( fluidIsAir ) THEN
# Line 270  C     ycoord :: varying parameters. Line 266  C     ycoord :: varying parameters.
266       &'   /* Non-linear Free Surf. options (-1,0,1,2,3)*/')       &'   /* Non-linear Free Surf. options (-1,0,1,2,3)*/')
267        WRITE(msgBuf,'(2A)') '     -1,0= Off ; 1,2,3= On,',        WRITE(msgBuf,'(2A)') '     -1,0= Off ; 1,2,3= On,',
268       &  ' 2=+rescale gU,gV, 3=+update cg2d solv.'       &  ' 2=+rescale gU,gV, 3=+update cg2d solv.'
269        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
270        CALL WRITE_0D_R8( hFacInf, INDEX_NONE,        CALL WRITE_0D_R8( hFacInf, INDEX_NONE,
271       &'hFacInf =',       &'hFacInf =',
272       &'   /* lower threshold for hFac (nonlinFreeSurf only)*/')       &'   /* lower threshold for hFac (nonlinFreeSurf only)*/')
# Line 338  C     ycoord :: varying parameters. Line 333  C     ycoord :: varying parameters.
333       & 'useJamartWetPoints=',' /* Coriolis WetPoints method flag */')       & 'useJamartWetPoints=',' /* Coriolis WetPoints method flag */')
334        CALL WRITE_0D_L( useJamartMomAdv,  INDEX_NONE,        CALL WRITE_0D_L( useJamartMomAdv,  INDEX_NONE,
335       & 'useJamartMomAdv=',' /* V.I. Non-linear terms Jamart flag */')       & 'useJamartMomAdv=',' /* V.I. Non-linear terms Jamart flag */')
       CALL WRITE_0D_L( SadournyCoriolis,  INDEX_NONE,  
      & 'SadournyCoriolis=',' /* Sadourny Coriolis discr. flag */')  
       CALL WRITE_0D_L( upwindVorticity,  INDEX_NONE,  
      & 'upwindVorticity=',' /* Upwind bias vorticity flag */')  
336        CALL WRITE_0D_L( useAbsVorticity,  INDEX_NONE,        CALL WRITE_0D_L( useAbsVorticity,  INDEX_NONE,
337       & 'useAbsVorticity=',' /* Work with f+zeta in Coriolis */')       & 'useAbsVorticity=',' /* Work with f+zeta in Coriolis */')
338    c     CALL WRITE_0D_I( selectVortScheme, INDEX_NONE,
339    c    & 'selectVortScheme=',' /* Scheme selector for Vorticity-Term */')
340          WRITE(msgBuf,'(2A)')
341         & 'selectVortScheme=',' /* Scheme selector for Vorticity-Term */'
342          CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
343          CALL PRINT_LIST_I( selectVortScheme, 1, INDEX_NONE,
344         &                   .FALSE., .TRUE., ioUnit )
345          WRITE(msgBuf,'(2A)') '   = 0 : enstrophy (Shallow-Water Eq.)',
346         &                  ' conserving scheme by Sadourny, JAS 75'
347          CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
348          WRITE(msgBuf,'(2A)') '   = 1 : same as 0 with modified hFac'
349          CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
350          WRITE(msgBuf,'(2A)') '   = 2 : energy conserving scheme',
351         &         ' (used by Sadourny in JAS 75 paper)'
352          CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
353    c     WRITE(msgBuf,'(2A)') '   = 3 : energy (general)',
354    c    &             ' and enstrophy (2D, nonDiv.) conserving scheme'
355    c     CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
356    c     WRITE(msgBuf,'(2A)') '         from Sadourny',
357    c    &                     ' (Burridge & Haseler, ECMWF Rep.4, 1977)'
358    c     CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
359    c     WRITE(msgBuf,'(2A)') '   = 4 : energy (general)',
360    c    &             ' and enstrophy (2D, nonDiv.) conserving scheme'
361    c     CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
362    c     WRITE(msgBuf,'(2A)') '         from Arakawa & Lamb, 77'
363    c     CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
364          WRITE(msgBuf,'(A)')   '    ;     '
365          CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
366          CALL WRITE_0D_L( upwindVorticity,  INDEX_NONE,
367         & 'upwindVorticity=',' /* Upwind bias vorticity flag */')
368        CALL WRITE_0D_L( highOrderVorticity,  INDEX_NONE,        CALL WRITE_0D_L( highOrderVorticity,  INDEX_NONE,
369       & 'highOrderVorticity=',' /* High order interp. of vort. flag */')       & 'highOrderVorticity=',' /* High order interp. of vort. flag */')
370        CALL WRITE_0D_L( upwindShear,  INDEX_NONE,        CALL WRITE_0D_L( upwindShear,  INDEX_NONE,
# Line 402  C     ycoord :: varying parameters. Line 423  C     ycoord :: varying parameters.
423        CALL WRITE_0D_I( debugLevel, INDEX_NONE,        CALL WRITE_0D_I( debugLevel, INDEX_NONE,
424       & ' debugLevel =', '  /* select debugging level */')       & ' debugLevel =', '  /* select debugging level */')
425        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
426        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
427    
428        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
429       & '// Elliptic solver(s) paramters ( PARM02 in namelist ) '       & '// Elliptic solver(s) paramters ( PARM02 in namelist ) '
430        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
431        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
432        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
433        CALL WRITE_0D_I( cg2dMaxIters,   INDEX_NONE,'cg2dMaxIters =',        CALL WRITE_0D_I( cg2dMaxIters,   INDEX_NONE,'cg2dMaxIters =',
434       &'   /* Upper limit on 2d con. grad iterations  */')       &'   /* Upper limit on 2d con. grad iterations  */')
435        CALL WRITE_0D_I( cg2dChkResFreq, INDEX_NONE,'cg2dChkResFreq =',        CALL WRITE_0D_I( cg2dChkResFreq, INDEX_NONE,'cg2dChkResFreq =',
# Line 426  C     ycoord :: varying parameters. Line 444  C     ycoord :: varying parameters.
444       &'   /* Freq. for updating cg2d preconditioner */')       &'   /* Freq. for updating cg2d preconditioner */')
445    
446        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
447        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
448        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
449       & '// Time stepping paramters ( PARM03 in namelist ) '       & '// Time stepping paramters ( PARM03 in namelist ) '
450        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
451        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
452        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
453        CALL WRITE_0D_R8( deltaTmom, INDEX_NONE,'deltaTmom =',        CALL WRITE_0D_R8( deltaTmom, INDEX_NONE,'deltaTmom =',
454       &'   /* Momentum equation timestep ( s ) */')       &'   /* Momentum equation timestep ( s ) */')
455        CALL WRITE_0D_R8( deltaTfreesurf,INDEX_NONE,'deltaTfreesurf =',        CALL WRITE_0D_R8( deltaTfreesurf,INDEX_NONE,'deltaTfreesurf =',
# Line 537  C     ycoord :: varying parameters. Line 552  C     ycoord :: varying parameters.
552        CALL WRITE_0D_R8( latBandClimRelax, INDEX_NONE,        CALL WRITE_0D_R8( latBandClimRelax, INDEX_NONE,
553       &   'latBandClimRelax =', '   /* max. Lat. where relaxation */')       &   'latBandClimRelax =', '   /* max. Lat. where relaxation */')
554        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
555        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
556        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
557       & '// Gridding paramters ( PARM04 in namelist ) '       & '// Gridding paramters ( PARM04 in namelist ) '
558        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
559        WRITE(msgBuf,'(A)') '//  '        WRITE(msgBuf,'(A)') '//  '
560        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
561        CALL WRITE_0D_L( usingCartesianGrid, INDEX_NONE,        CALL WRITE_0D_L( usingCartesianGrid, INDEX_NONE,
562       & 'usingCartesianGrid =',       & 'usingCartesianGrid =',
563       & ' /* Cartesian coordinates flag ( True/False ) */')       & ' /* Cartesian coordinates flag ( True/False ) */')
# Line 702  C     Grid along selected grid lines Line 714  C     Grid along selected grid lines
714    
715        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
716       &'// ======================================================='       &'// ======================================================='
717        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
718        WRITE(msgBuf,'(A)') '// End of Model config. summary'        WRITE(msgBuf,'(A)') '// End of Model config. summary'
719        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
720        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
721       &'// ======================================================='       &'// ======================================================='
722        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
723        WRITE(msgBuf,'(A)') ' '        WRITE(msgBuf,'(A)') ' '
724        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
      &                    SQUEEZE_RIGHT, myThid )  
725    
726        _END_MASTER(myThid)        _END_MASTER(myThid)
727        _BARRIER        _BARRIER

Legend:
Removed from v.1.105  
changed lines
  Added in v.1.106

  ViewVC Help
Powered by ViewVC 1.1.22