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

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

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

revision 1.53 by heimbach, Mon Sep 11 23:07:29 2000 UTC revision 1.54 by heimbach, Mon Nov 13 16:32:57 2000 UTC
# Line 33  C     == Global variables === Line 33  C     == Global variables ===
33  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
34  # include "tamc.h"  # include "tamc.h"
35  # include "tamc_keys.h"  # include "tamc_keys.h"
 # ifdef ALLOW_KPP  
 #  include "KPP.h"  
 # endif  
36  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
37    
38    #ifdef ALLOW_KPP
39    # include "KPP.h"
40    #endif
41    
42  C     == Routine arguments ==  C     == Routine arguments ==
43  C     myTime - Current time in simulation  C     myTime - Current time in simulation
44  C     myIter - Current iteration number in simulation  C     myIter - Current iteration number in simulation
# Line 198  C--   dummy statement to end declaration Line 199  C--   dummy statement to end declaration
199        ikey = 1        ikey = 1
200  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
201    
202    
203  C--   Set up work arrays with valid (i.e. not NaN) values  C--   Set up work arrays with valid (i.e. not NaN) values
204  C     These inital values do not alter the numerical results. They  C     These inital values do not alter the numerical results. They
205  C     just ensure that all memory references are to valid floating  C     just ensure that all memory references are to valid floating
# Line 304  C--     Set up work arrays that need val Line 306  C--     Set up work arrays that need val
306          jMin = 1-OLy+1          jMin = 1-OLy+1
307          jMax = sNy+OLy          jMax = sNy+OLy
308    
   
309          k = 1          k = 1
310          BOTTOM_LAYER = k .EQ. Nr          BOTTOM_LAYER = k .EQ. Nr
311    
# Line 349  CADJ STORE salt (:,:,k,bi,bj) = comlev1_ Line 350  CADJ STORE salt (:,:,k,bi,bj) = comlev1_
350  #endif  #endif
351          ENDIF          ENDIF
352  #endif  #endif
353    
354  C--     Density of 1st level (below W(1)) reference to level 1  C--     Density of 1st level (below W(1)) reference to level 1
355  #ifdef  INCLUDE_FIND_RHO_CALL  #ifdef  INCLUDE_FIND_RHO_CALL
356  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
# Line 378  CADJ &   , key = ikey, byte = isbyte Line 380  CADJ &   , key = ikey, byte = isbyte
380       I      myThid )       I      myThid )
381  #endif  #endif
382    
 #ifdef  INCLUDE_CONVECT_CALL  
   
383  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
384  CADJ STORE rhoKm1(:,:)  = comlev1_bibj, key = ikey, byte = isbyte  CADJ STORE rhoKm1(:,:)  = comlev1_bibj, key = ikey, byte = isbyte
385  CADJ STORE rhoKp1(:,:)  = comlev1_bibj, key = ikey, byte = isbyte  CADJ STORE rhoKp1(:,:)  = comlev1_bibj, key = ikey, byte = isbyte
386  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
387    
388    #ifdef  INCLUDE_CONVECT_CALL
389    
390           CALL CONVECT(           CALL CONVECT(
391       I       bi,bj,iMin,iMax,jMin,jMax,k+1,rhoKm1,rhoKp1,       I       bi,bj,iMin,iMax,jMin,jMax,k+1,rhoKm1,rhoKp1,
392       U       ConvectCount,       U       ConvectCount,
# Line 429  C--     phiHyd(z=0)=0 Line 432  C--     phiHyd(z=0)=0
432       I      myThid )       I      myThid )
433    
434  #ifdef ALLOW_GMREDI  #ifdef ALLOW_GMREDI
435            IF ( useGMRedi ) THEN
436          CALL GRAD_SIGMA(          CALL GRAD_SIGMA(
437       I            bi, bj, iMin, iMax, jMin, jMax, k,       I            bi, bj, iMin, iMax, jMin, jMax, k,
438       I            rhoKm1, rhoKm1, rhoKm1,       I            rhoKm1, rhoKm1, rhoKm1,
439       O            sigmaX, sigmaY, sigmaR,       O            sigmaX, sigmaY, sigmaR,
440       I            myThid )       I            myThid )
441            ENDIF
442  #endif  #endif
443    
444  C--     Start of downward loop  C--     Start of downward loop
# Line 483  CADJ &   , key = kkey, byte = isbyte Line 488  CADJ &   , key = kkey, byte = isbyte
488       I      myThid )       I      myThid )
489    
490  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
491  CADJ STORE rhoK(:,:)  = comlev1_bibj_k, key = kkey, byte = isbyte  cph(   storing not necessary
492    cphCADJ STORE rhoK(:,:)  = comlev1_bibj_k, key = kkey, byte = isbyte
493    cph)
494  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
495  #endif  #endif
496    
# Line 574  CADJ &   , key = kkey, byte = isbyte Line 581  CADJ &   , key = kkey, byte = isbyte
581    
582    
583  #ifdef ALLOW_GMREDI  #ifdef ALLOW_GMREDI
584             IF ( useGMRedi ) THEN
585           CALL GRAD_SIGMA(           CALL GRAD_SIGMA(
586       I             bi, bj, iMin, iMax, jMin, jMax, k,       I             bi, bj, iMin, iMax, jMin, jMax, k,
587       I             rhoK, rhotmp, rhoK,       I             rhoK, rhotmp, rhoK,
588       O             sigmaX, sigmaY, sigmaR,       O             sigmaX, sigmaY, sigmaR,
589       I             myThid )       I             myThid )
590             ENDIF
591  #endif  #endif
592    
593           DO J=jMin,jMax           DO J=jMin,jMax
# Line 593  CADJ &   , key = kkey, byte = isbyte Line 602  CADJ &   , key = kkey, byte = isbyte
602  C--     end of k loop  C--     end of k loop
603          ENDDO          ENDDO
604    
605    C     Determines forcing terms based on external fields
606    C     relaxation terms, etc.
607          CALL EXTERNAL_FORCING_SURF(
608         I             bi, bj, iMin, iMax, jMin, jMax,
609         I             myThid )
610    
611  #ifdef ALLOW_GMREDI  #ifdef ALLOW_GMREDI
612          IF (useGMRedi) THEN          IF (useGMRedi) THEN
613            DO k=1, Nr            DO k=1, Nr
# Line 622  C--     calc_div_ghat has a condition fo Line 637  C--     calc_div_ghat has a condition fo
637          ENDDO          ENDDO
638  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
639    
   
640  #ifdef ALLOW_KPP  #ifdef ALLOW_KPP
641  C--   Compute KPP mixing coefficients  C--   Compute KPP mixing coefficients
642          IF (useKPP) THEN          IF (useKPP) THEN
643    
644            CALL TIMER_START('KPP_CALC               [DYNAMICS]', myThid)            CALL TIMER_START('KPP_CALC               [DYNAMICS]', myThid)
645            CALL KPP_CALC(            CALL KPP_CALC(
646       I                 bi, bj, myTime, myThid )       I                  bi, bj, myTime, myThid )
647            CALL TIMER_STOP ('KPP_CALC               [DYNAMICS]', myThid)            CALL TIMER_STOP ('KPP_CALC               [DYNAMICS]', myThid)
648    
649  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
# Line 762  CADJ STORE gunm1(:,:,k,bi,bj) = comlev1_ Line 776  CADJ STORE gunm1(:,:,k,bi,bj) = comlev1_
776  CADJ &   , key = kkey, byte = isbyte  CADJ &   , key = kkey, byte = isbyte
777  CADJ STORE gvnm1(:,:,k,bi,bj) = comlev1_bibj_k  CADJ STORE gvnm1(:,:,k,bi,bj) = comlev1_bibj_k
778  CADJ &   , key = kkey, byte = isbyte  CADJ &   , key = kkey, byte = isbyte
779  CADJ STORE gwnm1(:,:,k,bi,bj) = comlev1_bibj_k, key = kkey, byte = isbyte  CADJ STORE gwnm1(:,:,k,bi,bj) = comlev1_bibj_k
780    CADJ &   , key = kkey, byte = isbyte
781  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
782  CADJ &    
783              CALL APPLY_OBCS2( bi, bj, k, myThid )              CALL APPLY_OBCS2( bi, bj, k, myThid )
784           END IF           END IF
785  #endif  #endif
# Line 883  C--     implicitViscosity Line 898  C--     implicitViscosity
898         ENDDO         ENDDO
899        ENDDO        ENDDO
900    
   
901        RETURN        RETURN
902        END        END

Legend:
Removed from v.1.53  
changed lines
  Added in v.1.54

  ViewVC Help
Powered by ViewVC 1.1.22