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

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

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

revision 1.129 by jmc, Wed Jul 3 16:18:01 2013 UTC revision 1.130 by jmc, Thu Jul 4 23:05:09 2013 UTC
# Line 422  C jmc: do not know precisely where to pu Line 422  C jmc: do not know precisely where to pu
422        ENDIF        ENDIF
423  #endif /* ALLOW_OCN_COMPON_INTERF */  #endif /* ALLOW_OCN_COMPON_INTERF */
424    
425  C--   Balance and Apply exchanges to surface forcing        iMin = 1-OLx
426          iMax = sNx+OLx
427          jMin = 1-OLy
428          jMax = sNy+OLy
429    
430    C---  Determines forcing terms based on external fields
431    C     relaxation terms, etc.
432    #ifdef ALLOW_DEBUG
433          IF (debugMode) CALL DEBUG_CALL('EXTERNAL_FORCING_SURF',myThid)
434    #endif
435    #ifdef ALLOW_AUTODIFF_TAMC
436    CADJ STORE salt, theta = comlev1, key = ikey_dynamics,
437    CADJ &     kind = isbyte
438    #else  /* ALLOW_AUTODIFF_TAMC */
439    C--   if fluid is not water, by-pass surfaceForcing, find_rho, gmredi
440    C     and all vertical mixing schemes, but keep OBCS_CALC
441        IF ( fluidIsWater ) THEN        IF ( fluidIsWater ) THEN
442          CALL EXTERNAL_FORCING_ADJUST( myTime, myIter, myThid )  #endif /* ALLOW_AUTODIFF_TAMC */
443        ENDIF          CALL EXTERNAL_FORCING_SURF(
444         I             iMin, iMax, jMin, jMax,
445         I             myTime, myIter, myThid )
446    
447  #ifdef ALLOW_OFFLINE  #ifdef ALLOW_OFFLINE
448        IF ( .NOT. useOffLine ) THEN        IF ( .NOT. useOffLine ) THEN
# Line 434  C--   Balance and Apply exchanges to sur Line 451  C--   Balance and Apply exchanges to sur
451  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
452  C--   HPF directive to help TAMC  C--   HPF directive to help TAMC
453  CHPF$ INDEPENDENT  CHPF$ INDEPENDENT
 #else  /* ALLOW_AUTODIFF_TAMC */  
 C     if fluid is not water, by-pass find_rho, gmredi, surfaceForcing  
 C     and all vertical mixing schemes, but keep OBCS_CALC  
       IF ( fluidIsWater ) THEN  
454  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
455        DO bj=myByLo(myThid),myByHi(myThid)        DO bj=myByLo(myThid),myByHi(myThid)
456  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
# Line 520  cph although some of these are re-initia Line 533  cph although some of these are re-initia
533           ENDDO           ENDDO
534          ENDDO          ENDDO
535    
         iMin = 1-OLx  
         iMax = sNx+OLx  
         jMin = 1-OLy  
         jMax = sNy+OLy  
   
536  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
537  CADJ STORE theta(:,:,:,bi,bj) = comlev1_bibj, key=itdkey,  CADJ STORE theta(:,:,:,bi,bj) = comlev1_bibj, key=itdkey,
538  CADJ &     kind = isbyte  CADJ &     kind = isbyte
# Line 719  C--     Diagnose Mixed Layer Depth: Line 727  C--     Diagnose Mixed Layer Depth:
727          ENDIF          ENDIF
728  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */
729    
730  C--     Determines forcing terms based on external fields  C--    This is where EXTERNAL_FORCING_SURF(bi,bj) used to be called;
731  C       relaxation terms, etc.  C      now called earlier, before bi,bj loop.
 #ifdef ALLOW_DEBUG  
         IF (debugMode) CALL DEBUG_CALL('EXTERNAL_FORCING_SURF',myThid)  
 #endif  
 #ifdef ALLOW_AUTODIFF_TAMC  
 CADJ STORE EmPmR(:,:,bi,bj)  
 CADJ &     = comlev1_bibj, key=itdkey,  
 CADJ &     kind = isbyte  
 # ifdef EXACT_CONSERV  
 CADJ STORE PmEpR(:,:,bi,bj)  
 CADJ &     = comlev1_bibj, key=itdkey,  
 CADJ &     kind = isbyte  
 # endif  
 # ifdef NONLIN_FRSURF  
 CADJ STORE hFac_surfC(:,:,bi,bj)  
 CADJ &     = comlev1_bibj, key=itdkey,  
 CADJ &     kind = isbyte  
 CADJ STORE recip_hFacC(:,:,:,bi,bj)  
 CADJ &     = comlev1_bibj, key=itdkey,  
 CADJ &     kind = isbyte  
 #  if (defined (ALLOW_PTRACERS))  
 CADJ STORE surfaceForcingS(:,:,bi,bj)   = comlev1_bibj, key=itdkey,  
 CADJ &     kind = isbyte  
 CADJ STORE surfaceForcingT(:,:,bi,bj)   = comlev1_bibj, key=itdkey,  
 CADJ &     kind = isbyte  
 #  endif /* ALLOW_PTRACERS */  
 # endif /* NONLIN_FRSURF */  
 #endif  
         CALL EXTERNAL_FORCING_SURF(  
      I             bi, bj, iMin, iMax, jMin, jMax,  
      I             myTime, myIter, myThid )  
 #ifdef ALLOW_AUTODIFF_TAMC  
 # ifdef EXACT_CONSERV  
 cph-test  
 cphCADJ STORE PmEpR(:,:,bi,bj)  
 cphCADJ &     = comlev1_bibj, key=itdkey,  
 cphCADJ &     kind = isbyte  
 # endif  
 #endif  
732    
733  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
734  cph needed for KPP  cph needed for KPP
# Line 901  C--   end bi,bj loops. Line 871  C--   end bi,bj loops.
871         ENDDO         ENDDO
872        ENDDO        ENDDO
873    
874  #ifdef ALLOW_BALANCE_RELAX  #ifdef ALLOW_OFFLINE
 # ifdef ALLOW_AUTODIFF_TAMC  
 CADJ STORE SSSrlx = comlev1, key=ikey_dynamics, kind=isbyte  
 CADJ STORE SSSrlxTile = comlev1, key=ikey_dynamics, kind=isbyte  
 CADJ STORE SSSrlxGlob = comlev1, key=ikey_dynamics, kind=isbyte  
 CADJ STORE SSTrlx = comlev1, key=ikey_dynamics, kind=isbyte  
 CADJ STORE SSTrlxTile = comlev1, key=ikey_dynamics, kind=isbyte  
 CADJ STORE SSTrlxGlob = comlev1, key=ikey_dynamics, kind=isbyte  
 # endif /* ALLOW_AUTODIFF_TAMC */  
        CALL BALANCE_RELAX( myTime, myIter, myThid )  
 #endif /* ALLOW_BALANCE_RELAX */  
   
 #ifndef ALLOW_AUTODIFF_TAMC  
 C---  if fluid Is Water: end  
875        ENDIF        ENDIF
876  #endif  #endif
877    
878  #ifdef ALLOW_OFFLINE  #ifndef ALLOW_AUTODIFF_TAMC
879    C---  if fluid Is Water: end
880        ENDIF        ENDIF
881  #endif  #endif
882    

Legend:
Removed from v.1.129  
changed lines
  Added in v.1.130

  ViewVC Help
Powered by ViewVC 1.1.22