/[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.54 by heimbach, Mon Nov 13 16:32:57 2000 UTC revision 1.55 by heimbach, Mon Jan 8 16:37:43 2001 UTC
# Line 438  C--     phiHyd(z=0)=0 Line 438  C--     phiHyd(z=0)=0
438       I            rhoKm1, rhoKm1, rhoKm1,       I            rhoKm1, rhoKm1, rhoKm1,
439       O            sigmaX, sigmaY, sigmaR,       O            sigmaX, sigmaY, sigmaR,
440       I            myThid )       I            myThid )
441            ELSE
442             DO j=1-OLy,sNy+OLy
443              DO i=1-OLx,sNx+OLx
444               sigmaX(i,j,k) = 0. _d 0
445               sigmaY(i,j,k) = 0. _d 0
446               sigmaR(i,j,k) = 0. _d 0
447              ENDDO
448             ENDDO
449          ENDIF          ENDIF
450  #endif  #endif
451    
# Line 587  CADJ &   , key = kkey, byte = isbyte Line 595  CADJ &   , key = kkey, byte = isbyte
595       I             rhoK, rhotmp, rhoK,       I             rhoK, rhotmp, rhoK,
596       O             sigmaX, sigmaY, sigmaR,       O             sigmaX, sigmaY, sigmaR,
597       I             myThid )       I             myThid )
598             ELSE
599              DO j=1-OLy,sNy+OLy
600               DO i=1-OLx,sNx+OLx
601                sigmaX(i,j,k) = 0. _d 0
602                sigmaY(i,j,k) = 0. _d 0
603                sigmaR(i,j,k) = 0. _d 0
604               ENDDO
605              ENDDO
606           ENDIF           ENDIF
607  #endif  #endif
608    
# Line 608  C     relaxation terms, etc. Line 624  C     relaxation terms, etc.
624       I             bi, bj, iMin, iMax, jMin, jMax,       I             bi, bj, iMin, iMax, jMin, jMax,
625       I             myThid )       I             myThid )
626    
627    #ifdef ALLOW_AUTODIFF_TAMC
628    
629    CADJ STORE surfacetendencyu(:,:,bi,bj)
630    CADJ &   , surfacetendencyv(:,:,bi,bj)
631    CADJ &   , surfacetendencys(:,:,bi,bj)
632    CADJ &   , surfacetendencyt(:,:,bi,bj)
633    CADJ &                        = comlev1_bibj, key=ikey, byte=isbyte
634    
635    # ifdef ALLOW_GMREDI
636    CADJ STORE sigmaX(:,:,:) = comlev1, key=ikey, byte=isbyte
637    CADJ STORE sigmaY(:,:,:) = comlev1, key=ikey, byte=isbyte
638    CADJ STORE sigmaR(:,:,:) = comlev1, key=ikey, byte=isbyte
639    # endif /* ALLOW_GMREDI */
640    
641    #endif /* ALLOW_AUTODIFF_TAMC */
642    
643  #ifdef ALLOW_GMREDI  #ifdef ALLOW_GMREDI
644          IF (useGMRedi) THEN          IF (useGMRedi) THEN
645            DO k=1, Nr            DO k=1, Nr
# Line 616  C     relaxation terms, etc. Line 648  C     relaxation terms, etc.
648       I             sigmaX, sigmaY, sigmaR,       I             sigmaX, sigmaY, sigmaR,
649       I             myThid )       I             myThid )
650            ENDDO            ENDDO
651    #ifdef ALLOW_AUTODIFF_TAMC
652            ELSE
653              DO k=1, Nr
654                CALL GMREDI_CALC_TENSOR_DUMMY(
655         I             bi, bj, iMin, iMax, jMin, jMax, k,
656         I             sigmaX, sigmaY, sigmaR,
657         I             myThid )
658              ENDDO
659    #endif /* ALLOW_AUTODIFF_TAMC */
660          ENDIF          ENDIF
661  #endif  #endif
662    
663  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
664  CADJ STORE KappaRT(:,:,:)     = comlev1_bibj, key = ikey, byte = isbyte  CADJ STORE KappaRT(:,:,:)     = comlev1_bibj, key=ikey, byte=isbyte
665  CADJ STORE KappaRS(:,:,:)     = comlev1_bibj, key = ikey, byte = isbyte  CADJ STORE KappaRS(:,:,:)     = comlev1_bibj, key=ikey, byte=isbyte
666    
667  CADJ STORE theta(:,:,:,bi,bj) = comlev1_bibj, key = ikey, byte = isbyte  C-- R.G. We need to define a new tape since Kw use mythid instead of bi,bj
668  CADJ STORE salt (:,:,:,bi,bj) = comlev1_bibj, key = ikey, byte = isbyte  CADJ STORE Kwx(:,:,:,myThid)  = comlev1_bibj, key=ikey, byte=isbyte
669  CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key = ikey, byte = isbyte  CADJ STORE Kwy(:,:,:,myThid)  = comlev1_bibj, key=ikey, byte=isbyte
670  CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key = ikey, byte = isbyte  CADJ STORE Kwz(:,:,:,myThid)  = comlev1_bibj, key=ikey, byte=isbyte
671    
672    CADJ STORE theta(:,:,:,bi,bj) = comlev1_bibj, key=ikey, byte=isbyte
673    CADJ STORE salt (:,:,:,bi,bj) = comlev1_bibj, key=ikey, byte=isbyte
674    CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=ikey, byte=isbyte
675    CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=ikey, byte=isbyte
676    
677  C--     dummy initialization to break data flow because  C--     dummy initialization to break data flow because
678  C--     calc_div_ghat has a condition for initialization  C--     calc_div_ghat has a condition for initialization
# Line 669  CADJ &   , KPPviscAz (:,:,:,bi,bj) Line 715  CADJ &   , KPPviscAz (:,:,:,bi,bj)
715  CADJ &   , KPPdiffKzT(:,:,:,bi,bj)  CADJ &   , KPPdiffKzT(:,:,:,bi,bj)
716  CADJ &   , KPPdiffKzS(:,:,:,bi,bj)  CADJ &   , KPPdiffKzS(:,:,:,bi,bj)
717  CADJ &   , KPPfrac   (:,:  ,bi,bj)  CADJ &   , KPPfrac   (:,:  ,bi,bj)
718  CADJ &                 = comlev1_bibj, key = ikey, byte = isbyte  CADJ &                 = comlev1_bibj, key=ikey, byte=isbyte
719  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
720    
721  #endif /* ALLOW_KPP */  #endif /* ALLOW_KPP */
# Line 772  C--      Prediction step (step forward a Line 818  C--      Prediction step (step forward a
818  C--      Apply open boundary conditions  C--      Apply open boundary conditions
819           IF (openBoundaries) THEN           IF (openBoundaries) THEN
820  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
821  CADJ STORE gunm1(:,:,k,bi,bj) = comlev1_bibj_k  CADJ STORE gunm1(:,:,k,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte
822  CADJ &   , key = kkey, byte = isbyte  CADJ STORE gvnm1(:,:,k,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte
823  CADJ STORE gvnm1(:,:,k,bi,bj) = comlev1_bibj_k  CADJ STORE gwnm1(:,:,k,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte
 CADJ &   , key = kkey, byte = isbyte  
 CADJ STORE gwnm1(:,:,k,bi,bj) = comlev1_bibj_k  
 CADJ &   , key = kkey, byte = isbyte  
824  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
825    
826              CALL APPLY_OBCS2( bi, bj, k, myThid )              CALL APPLY_OBCS2( bi, bj, k, myThid )
# Line 786  CADJ &   , key = kkey, byte = isbyte Line 829  CADJ &   , key = kkey, byte = isbyte
829  C--      Freeze water  C--      Freeze water
830           IF (allowFreezing) THEN           IF (allowFreezing) THEN
831  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
832  CADJ STORE gTNm1(:,:,k,bi,bj) = comlev1_bibj_k  CADJ STORE gTNm1(:,:,k,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte
 CADJ &   , key = kkey, byte = isbyte  
833  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
834              CALL FREEZE( bi, bj, iMin, iMax, jMin, jMax, k, myThid )              CALL FREEZE( bi, bj, iMin, iMax, jMin, jMax, k, myThid )
835           END IF           END IF
# Line 825  C--     Implicit diffusion Line 867  C--     Implicit diffusion
867           IF (tempStepping) THEN           IF (tempStepping) THEN
868  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
869              idkey = iikey + 1              idkey = iikey + 1
870    CADJ STORE gTNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte
871  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
872              CALL IMPLDIFF(              CALL IMPLDIFF(
873       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
# Line 836  C--     Implicit diffusion Line 879  C--     Implicit diffusion
879           IF (saltStepping) THEN           IF (saltStepping) THEN
880  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
881           idkey = iikey + 2           idkey = iikey + 2
882    CADJ STORE gSNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte
883  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
884              CALL IMPLDIFF(              CALL IMPLDIFF(
885       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
# Line 853  C--     Implicit viscosity Line 897  C--     Implicit viscosity
897           IF (momStepping) THEN           IF (momStepping) THEN
898  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
899           idkey = iikey + 3           idkey = iikey + 3
900    CADJ STORE gUNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte
901  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
902            CALL IMPLDIFF(            CALL IMPLDIFF(
903       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
# Line 861  C--     Implicit viscosity Line 906  C--     Implicit viscosity
906       I         myThid )       I         myThid )
907  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
908           idkey = iikey + 4           idkey = iikey + 4
909    CADJ STORE gVNm1(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte
910  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
911            CALL IMPLDIFF(            CALL IMPLDIFF(
912       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
# Line 872  C--     Implicit viscosity Line 918  C--     Implicit viscosity
918    
919  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
920           idkey = iikey + 5           idkey = iikey + 5
921    CADJ STORE vVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte
922  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
923            CALL IMPLDIFF(            CALL IMPLDIFF(
924       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,
# Line 880  C--     Implicit viscosity Line 927  C--     Implicit viscosity
927       I         myThid )       I         myThid )
928  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
929          idkey = iikey + 6          idkey = iikey + 6
930    CADJ STORE uVelD(:,:,:,bi,bj) = comlev1_bibj , key=ikey, byte=isbyte
931  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
932            CALL IMPLDIFF(            CALL IMPLDIFF(
933       I         bi, bj, iMin, iMax, jMin, jMax,       I         bi, bj, iMin, iMax, jMin, jMax,

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

  ViewVC Help
Powered by ViewVC 1.1.22