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

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

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

revision 1.21 by dimitri, Sun Jan 25 00:31:52 2004 UTC revision 1.28 by jmc, Wed Aug 24 23:13:54 2005 UTC
# Line 25  C     == Global data == Line 25  C     == Global data ==
25  #include "PARAMS.h"  #include "PARAMS.h"
26  #include "DYNVARS.h"  #include "DYNVARS.h"
27  #include "GRID.h"  #include "GRID.h"
 #ifdef ALLOW_PASSIVE_TRACER  
 #include "TR1.h"  
 #endif  
28  #ifdef ALLOW_TIMEAVE  #ifdef ALLOW_TIMEAVE
29  #include "TIMEAVE_STATV.h"  #include "TIMEAVE_STATV.h"
30  #endif  #endif
# Line 64  C     ConvectCount :: Convection mixing Line 61  C     ConvectCount :: Convection mixing
61  CEOP  CEOP
62    
63  C--   Check to see if should convect now  C--   Check to see if should convect now
64        IF ( DIFFERENT_MULTIPLE(cAdjFreq,myTime,myTime-deltaTClock) ) THEN        IF ( DIFFERENT_MULTIPLE(cAdjFreq,myTime,deltaTClock)
65         &   ) THEN
66    
67  C--   Initialise counters  C--   Initialise counters
68          kTop    = 0          kTop    = 0
# Line 94  C-      Initialisation of Convection Cou Line 92  C-      Initialisation of Convection Cou
92       &                      + act4*max1*max2*max3       &                      + act4*max1*max2*max3
93  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
94    
95           IF ( buoyancyRelation .eq. 'OCEANIC' ) THEN           IF ( rkSign*gravitySign .GT. 0. ) THEN
96    C-          <=> usingZCoords:
97            kTop    =  2            kTop    =  2
98            kBottom = Nr            kBottom = Nr
99            kDir    =  1            kDir    =  1
100            deltaK  = -1            deltaK  = -1
101           ELSEIF ( buoyancyRelation .eq. 'OCEANICP' ) THEN           ELSE
102            kTop    = Nr  C-          <=> usingPCoords:
           kBottom =  2  
           kDir    = -1  
           deltaK  =  0  
          ELSEIF ( buoyancyRelation .eq. 'ATMOSPHERIC' ) THEN  
103            kTop    = Nr            kTop    = Nr
104            kBottom =  2            kBottom =  2
105            kDir    = -1            kDir    = -1
106            deltaK  =  0            deltaK  =  0
107           ELSE           ENDIF
           STOP 'CONVECTIVE_ADJUSTMENT: We should never reach this point'  
          ENDIF    
108    
109  C--       Loop over all *interior* layers  C--       Loop over all *interior* layers
110            DO K=kTop,kBottom,kDir            DO K=kTop,kBottom,kDir
# Line 167  C-          Convectively mix salt across Line 160  C-          Convectively mix salt across
160       U                              salt,       U                              salt,
161       I                              myThid)       I                              myThid)
162    
 #ifdef ALLOW_PASSIVE_TRACER  
 C-          Convectively mix passive tracer across interface K  
 ceh3 needs an IF ( usePASSIVE_TRACER ) THEN  
             CALL CONVECTIVELY_MIXTRACER(  
      I                              bi,bj,k,weightA,weightB,  
      U                              Tr1,  
      I                              myThid)  
 #endif /* ALLOW_PASSIVE_TRACER */  
   
163  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
164  C-          Convectively mix passive tracers across interface K  C-          Convectively mix passive tracers across interface K
165              IF ( usePTRACERS ) THEN              IF ( usePTRACERS ) THEN
# Line 188  C--       End DO K=1,Nr Line 172  C--       End DO K=1,Nr
172            ENDDO            ENDDO
173                
174  #ifdef ALLOW_TIMEAVE  #ifdef ALLOW_TIMEAVE
175  #ifndef HRCUBE            IF (myIter.NE.nIter0 .AND. taveFreq.GT.0.) THEN
 ceh3 needs an IF ( useTIMEAVE ) THEN  
           IF (myIter.ne.nIter0 .AND. taveFreq.GT.0.) THEN  
176              CALL TIMEAVE_CUMUL_1T(ConvectCountTave, ConvectCount,              CALL TIMEAVE_CUMUL_1T(ConvectCountTave, ConvectCount,
177       I                            Nr, deltaTclock, bi, bj, myThid)       I                            Nr, deltaTclock, bi, bj, myThid)
178            ENDIF            ENDIF
 #endif /* ndef HRCUBE */  
179  #endif /* ALLOW_TIMEAVE */  #endif /* ALLOW_TIMEAVE */
180    
181  C--   End IF (DIFFERENT_MULTIPLE)  C--   End IF (DIFFERENT_MULTIPLE)

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.22