/[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.7 by edhill, Tue Sep 7 17:29:14 2004 UTC revision 1.11 by heimbach, Mon Sep 27 14:56:42 2004 UTC
# Line 36  C     == Global variables === Line 36  C     == Global variables ===
36  #include "DYNVARS.h"  #include "DYNVARS.h"
37  #include "GRID.h"  #include "GRID.h"
38  c #include "GAD.h"  c #include "GAD.h"
 c #ifdef ALLOW_PASSIVE_TRACER  
 c #include "TR1.h"  
 c #endif  
39  c #ifdef ALLOW_PTRACERS  c #ifdef ALLOW_PTRACERS
40  c #include "PTRACERS_SIZE.h"  c #include "PTRACERS_SIZE.h"
41  c #include "PTRACERS.h"  c #include "PTRACERS.h"
# Line 61  c #endif Line 58  c #endif
58  # ifdef ALLOW_EBM  # ifdef ALLOW_EBM
59  #  include "EBM.h"  #  include "EBM.h"
60  # endif  # endif
61    # ifdef EXACT_CONSERV
62    #  include "SURFACE.h"
63    # endif
64  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
65    
66  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
# Line 230  CADJ STORE theta(:,:,:,bi,bj) = comlev1_ Line 230  CADJ STORE theta(:,:,:,bi,bj) = comlev1_
230  CADJ STORE salt (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  CADJ STORE salt (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte
231  CADJ STORE totphihyd  CADJ STORE totphihyd
232  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte
233  #ifdef ALLOW_KPP  # ifdef ALLOW_KPP
234  CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte
235  CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte
236  #endif  # endif
237    # ifdef EXACT_CONSERV
238    CADJ STORE pmepr(:,:,bi,bj)   = comlev1_bibj, key=itdkey, byte=isbyte
239    # endif
240  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
241    
242  #ifdef ALLOW_DEBUG  #ifdef ALLOW_DEBUG
# Line 293  CADJ STORE salt (:,:,k-1,bi,bj) = comlev Line 296  CADJ STORE salt (:,:,k-1,bi,bj) = comlev
296            ENDIF            ENDIF
297    
298  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
299    # ifndef GM_EXCLUDE_CLIPPING
300  CADJ STORE rhok   (:,:) = comlev1_bibj_k ,       key=kkey, byte=isbyte  CADJ STORE rhok   (:,:) = comlev1_bibj_k ,       key=kkey, byte=isbyte
301    # endif
302  CADJ STORE rhokm1 (:,:) = comlev1_bibj_k ,       key=kkey, byte=isbyte  CADJ STORE rhokm1 (:,:) = comlev1_bibj_k ,       key=kkey, byte=isbyte
303  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
304  C--       Implicit Vertical Diffusion for Convection  C--       Implicit Vertical Diffusion for Convection
# Line 312  c ==> should use sigmaR !!! Line 317  c ==> should use sigmaR !!!
317  C--     end of diagnostic k loop (Nr:1)  C--     end of diagnostic k loop (Nr:1)
318          ENDDO          ENDDO
319    
320  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_DIAGNOSTICS
321  cph avoids recomputation of integrate_for_w          IF ( usediagnostics .AND.
322  CADJ STORE wvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte       &       (useGMRedi .OR. ivdc_kappa.NE.0.) ) THEN
323  #endif /* ALLOW_AUTODIFF_TAMC */            CALL fill_diagnostics (myThid, 'DRHODR  ', 0, Nr,
324         &         3, bi, bj, sigmaR)
325            ENDIF
326    #endif
327    
328  #ifdef  ALLOW_OBCS  #ifdef  ALLOW_OBCS
329  C--     Calculate future values on open boundaries  C--     Calculate future values on open boundaries
# Line 324  C--     Calculate future values on open Line 332  C--     Calculate future values on open
332            IF ( debugLevel .GE. debLevB )            IF ( debugLevel .GE. debLevB )
333       &     CALL DEBUG_CALL('OBCS_CALC',myThid)       &     CALL DEBUG_CALL('OBCS_CALC',myThid)
334  #endif  #endif
335            CALL OBCS_CALC( bi, bj, myTime+deltaT, myIter+1,            CALL OBCS_CALC( bi, bj, myTime+deltaTclock, myIter+1,
336       I            uVel, vVel, wVel, theta, salt,       I            uVel, vVel, wVel, theta, salt,
337       I            myThid )       I            myThid )
338          ENDIF          ENDIF
# Line 365  CADJ &     = comlev1_bibj, key=itdkey, b Line 373  CADJ &     = comlev1_bibj, key=itdkey, b
373  #ifdef  ALLOW_GMREDI  #ifdef  ALLOW_GMREDI
374    
375  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
376    # ifndef GM_EXCLUDE_CLIPPING
377  cph storing here is needed only for one GMREDI_OPTIONS:  cph storing here is needed only for one GMREDI_OPTIONS:
378  cph define GM_BOLUS_ADVEC  cph define GM_BOLUS_ADVEC
379    cph keep it although TAF says you dont need to.
380  cph but I've avoided the #ifdef for now, in case more things change  cph but I've avoided the #ifdef for now, in case more things change
381  CADJ STORE sigmaX(:,:,:)        = comlev1_bibj, key=itdkey, byte=isbyte  CADJ STORE sigmaX(:,:,:)        = comlev1_bibj, key=itdkey, byte=isbyte
382  CADJ STORE sigmaY(:,:,:)        = comlev1_bibj, key=itdkey, byte=isbyte  CADJ STORE sigmaY(:,:,:)        = comlev1_bibj, key=itdkey, byte=isbyte
383  CADJ STORE sigmaR(:,:,:)        = comlev1_bibj, key=itdkey, byte=isbyte  cnewCADJ STORE sigmaR(:,:,:)        = comlev1_bibj, key=itdkey, byte=isbyte
384    # endif
385  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
386    
387  C--     Calculate iso-neutral slopes for the GM/Redi parameterisation  C--     Calculate iso-neutral slopes for the GM/Redi parameterisation
# Line 392  C--     Calculate iso-neutral slopes for Line 403  C--     Calculate iso-neutral slopes for
403  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
404          ENDIF          ENDIF
405    
 #ifdef ALLOW_AUTODIFF_TAMC  
 CADJ STORE Kwx(:,:,:,bi,bj)   = comlev1_bibj, key=itdkey, byte=isbyte  
 CADJ STORE Kwy(:,:,:,bi,bj)   = comlev1_bibj, key=itdkey, byte=isbyte  
 CADJ STORE Kwz(:,:,:,bi,bj)   = comlev1_bibj, key=itdkey, byte=isbyte  
 #endif /* ALLOW_AUTODIFF_TAMC */  
   
406  #endif  /* ALLOW_GMREDI */  #endif  /* ALLOW_GMREDI */
407    
408  #ifdef  ALLOW_KPP  #ifdef  ALLOW_KPP
# Line 416  C--     Compute KPP mixing coefficients Line 421  C--     Compute KPP mixing coefficients
421  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
422          ENDIF          ENDIF
423    
 #ifdef ALLOW_AUTODIFF_TAMC  
 CADJ STORE KPPghat   (:,:,:,bi,bj)  
 CADJ &   , KPPfrac   (:,:  ,bi,bj)  
 CADJ &                 = comlev1_bibj, key=itdkey, byte=isbyte  
 #endif /* ALLOW_AUTODIFF_TAMC */  
   
424  #endif  /* ALLOW_KPP */  #endif  /* ALLOW_KPP */
425    
426  #ifdef  ALLOW_PP81  #ifdef  ALLOW_PP81
# Line 448  C--     Compute MY82 mixing coefficients Line 447  C--     Compute MY82 mixing coefficients
447          ENDIF          ENDIF
448  #endif /* ALLOW_MY82 */  #endif /* ALLOW_MY82 */
449    
450  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef  ALLOW_GGL90
451  CADJ STORE theta(:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  C--     Compute GGL90 mixing coefficients
452  CADJ STORE salt (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte          IF (useGGL90) THEN
453  CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  #ifdef ALLOW_DEBUG
454  CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte            IF ( debugLevel .GE. debLevB )
455  #ifdef ALLOW_PASSIVE_TRACER       &     CALL DEBUG_CALL('GGL90_CALC',myThid)
 CADJ STORE tr1  (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  
 #endif  
 #ifdef ALLOW_PTRACERS  
 cph-- moved to forward_step to avoid key computation  
 cphCADJ STORE ptracer(:,:,:,bi,bj,itracer) = comlev1_bibj,  
 cphCADJ &                              key=itdkey, byte=isbyte  
456  #endif  #endif
457  #endif /* ALLOW_AUTODIFF_TAMC */            CALL GGL90_CALC(
458         I                  bi, bj, myTime, myThid )
459            ENDIF
460    #endif /* ALLOW_GGL90 */
461    
462  C--   end bi,bj loops.  C--   end bi,bj loops.
463         ENDDO         ENDDO

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22