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

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

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

revision 1.16 by jmc, Mon Aug 18 12:25:17 2014 UTC revision 1.17 by jmc, Mon Aug 18 14:26:15 2014 UTC
# Line 181  C-    Loop ranges for daughter routines Line 181  C-    Loop ranges for daughter routines
181       &                      + act4*max1*max2*max3       &                      + act4*max1*max2*max3
182  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
183    
184    C-    Apply AB on T :
185          IF ( AdamsBashforth_T ) THEN
186    C     compute T^n+1/2 (stored in gtNm) extrapolating T forward in time
187    #ifdef ALLOW_ADAMSBASHFORTH_3
188    c         m1 = 1 + MOD(iterNb+1,2)
189    c         m2 = 1 + MOD( iterNb ,2)
190              CALL ADAMS_BASHFORTH3(
191         I                           bi, bj, 0, Nr,
192         I                           theta(1-OLx,1-OLy,1,bi,bj),
193         U                           gtNm, gt_AB,
194         I                           tempStartAB, iterNb, myThid )
195    #else /* ALLOW_ADAMSBASHFORTH_3 */
196              CALL ADAMS_BASHFORTH2(
197         I                           bi, bj, 0, Nr,
198         I                           theta(1-OLx,1-OLy,1,bi,bj),
199         U                           gtNm1(1-OLx,1-OLy,1,bi,bj), gt_AB,
200         I                           tempStartAB, iterNb, myThid )
201    #endif /* ALLOW_ADAMSBASHFORTH_3 */
202          ENDIF
203    
204  C-    Tracer tendency needs to be set to zero (moved here from gad_calc_rhs):  C-    Tracer tendency needs to be set to zero (moved here from gad_calc_rhs):
205        DO k=1,Nr        DO k=1,Nr
206         DO j=1-OLy,sNy+OLy         DO j=1-OLy,sNy+OLy
# Line 203  C-    Tracer tendency needs to be set to Line 223  C-    Tracer tendency needs to be set to
223          ENDDO          ENDDO
224         ENDDO         ENDDO
225        ENDDO        ENDDO
226  CADJ STORE theta(:,:,:,bi,bj) = comlev1_bibj , key=itdkey, byte=isbyte  CADJ STORE wFld(:,:,:)         = comlev1_bibj , key=itdkey, byte=isbyte
227  CADJ STORE wFld(:,:,:) = comlev1_bibj , key=itdkey, byte=isbyte  CADJ STORE theta(:,:,:,bi,bj)  = comlev1_bibj , key=itdkey, byte=isbyte
228    # ifdef ALLOW_ADAMSBASHFORTH_3
229    CADJ STORE gtNm(:,:,:,bi,bj,1) = comlev1_bibj, key=itdkey, byte=isbyte
230    CADJ STORE gtNm(:,:,:,bi,bj,2) = comlev1_bibj, key=itdkey, byte=isbyte
231    # else
232    CADJ STORE gtNm1(:,:,:,bi,bj)  = comlev1_bibj, key=itdkey, byte=isbyte
233    # endif
234  #endif /* ALLOW_AUTODIFF */  #endif /* ALLOW_AUTODIFF */
235    
236  #ifdef INCLUDE_CALC_DIFFUSIVITY_CALL  #ifdef INCLUDE_CALC_DIFFUSIVITY_CALL
# Line 492  CADJ STORE gT_loc(:,:,:) = comlev1_bibj Line 518  CADJ STORE gT_loc(:,:,:) = comlev1_bibj
518        ENDIF        ENDIF
519  #endif /* ALLOW_TIMEAVE */  #endif /* ALLOW_TIMEAVE */
520    
 #ifdef ALLOW_ADAMSBASHFORTH_3  
521        IF ( AdamsBashforth_T ) THEN        IF ( AdamsBashforth_T ) THEN
522  C-    Save current tracer field (for AB on tracer) and then update tracer  C-    Save current tracer field (for AB on tracer) and then update tracer
523    #ifdef ALLOW_ADAMSBASHFORTH_3
524          CALL CYCLE_AB_TRACER(          CALL CYCLE_AB_TRACER(
525       I             bi, bj, gT_loc,       I             bi, bj, gT_loc,
526       U             theta(1-OLx,1-OLy,1,bi,bj),       U             theta(1-OLx,1-OLy,1,bi,bj),
527       O             gtNm(1-OLx,1-OLy,1,bi,bj,m2),       O             gtNm(1-OLx,1-OLy,1,bi,bj,m2),
528       I             myTime, myIter, myThid )       I             myTime, myIter, myThid )
       ELSEIF ( tempStepping ) THEN  
529  #else /* ALLOW_ADAMSBASHFORTH_3 */  #else /* ALLOW_ADAMSBASHFORTH_3 */
530        IF ( tempStepping ) THEN          CALL CYCLE_AB_TRACER(
531         I             bi, bj, gT_loc,
532         U             theta(1-OLx,1-OLy,1,bi,bj),
533         O             gtNm1(1-OLx,1-OLy,1,bi,bj),
534         I             myTime, myIter, myThid )
535  #endif /* ALLOW_ADAMSBASHFORTH_3 */  #endif /* ALLOW_ADAMSBASHFORTH_3 */
536          ELSE
537  C-    Update tracer fields:  T(n) = T**  C-    Update tracer fields:  T(n) = T**
538          CALL CYCLE_TRACER(          CALL CYCLE_TRACER(
539       I             bi, bj,       I             bi, bj,

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

  ViewVC Help
Powered by ViewVC 1.1.22