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

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

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

revision 1.156 by gforget, Thu Apr 24 21:39:52 2008 UTC revision 1.157 by heimbach, Thu May 1 23:52:24 2008 UTC
# Line 197  C--   Call driver to load external forci Line 197  C--   Call driver to load external forci
197        IF ( debugLevel .GE. debLevB )        IF ( debugLevel .GE. debLevB )
198       & CALL DEBUG_CALL('LOAD_FIELDS_DRIVER',myThid)       & CALL DEBUG_CALL('LOAD_FIELDS_DRIVER',myThid)
199  #endif  #endif
200    #ifdef ALLOW_AUTODIFF_TAMC
201    cph Important STORE that avoids hidden recomp. of load_fields_driver
202    CADJ STORE theta      = comlev1, key = ikey_dynamics
203    #endif
204        CALL TIMER_START('LOAD_FIELDS_DRIVER  [FORWARD_STEP]',myThid)        CALL TIMER_START('LOAD_FIELDS_DRIVER  [FORWARD_STEP]',myThid)
205        CALL LOAD_FIELDS_DRIVER( myTime, myIter, myThid )        CALL LOAD_FIELDS_DRIVER( myTime, myIter, myThid )
206        CALL TIMER_STOP ('LOAD_FIELDS_DRIVER  [FORWARD_STEP]',myThid)        CALL TIMER_STOP ('LOAD_FIELDS_DRIVER  [FORWARD_STEP]',myThid)
# Line 318  CADJ STORE surfaceforcingv = comlev1, ke Line 322  CADJ STORE surfaceforcingv = comlev1, ke
322  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
323    
324  #ifdef ALLOW_GCHEM  #ifdef ALLOW_GCHEM
 C     GCHEM package is an interface for any bio-geochemical or  
 C     ecosystem model you would like to include.  
 C     If GCHEM_SEPARATE_FORCING is not defined, you are  
 C     responsible for computing tendency terms for passive  
 C     tracers and storing them on a 3DxNumPtracers-array called  
 C     gchemTendency in GCHEM_CALC_TENDENCY. This tendency is then added  
 C     to gPtr in ptracers_forcing later-on.  
 C     If GCHEM_SEPARATE_FORCING is defined, you are reponsible for  
 C     UPDATING ptracers directly in GCHEM_FORCING_SEP. This amounts  
 C     to a completely separate time step that you have to implement  
 C     yourself (Eulerian seems to be fine in most cases).  
 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
 C     CAVEAT: Up to now, when GCHEM is turned on the field ptracerForcingSurf,  
 C     which is needed for KPP is not set properly. ptracerForcingSurf must  
 C     be treated differently depending on whether GCHEM_SEPARATE_FORCING  
 C     is define or not. TBD.  
 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
325  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
326  CADJ STORE ptracer  = comlev1, key = ikey_dynamics  CADJ STORE ptracer  = comlev1, key = ikey_dynamics
327  CADJ STORE theta  = comlev1, key = ikey_dynamics  CADJ STORE theta  = comlev1, key = ikey_dynamics
# Line 383  CADJ STORE KPPdiffKzT         = comlev1, Line 370  CADJ STORE KPPdiffKzT         = comlev1,
370  # endif  # endif
371  c  c
372  # if (defined NONLIN_FRSURF) || (defined ALLOW_DEPTH_CONTROL)  # if (defined NONLIN_FRSURF) || (defined ALLOW_DEPTH_CONTROL)
373    cph-adj-test(
374    CADJ STORE theta,salt,wvel          = comlev1, key = ikey_dynamics
375    cph-adj-test)
376  CADJ STORE etaH               = comlev1, key = ikey_dynamics  CADJ STORE etaH               = comlev1, key = ikey_dynamics
377  #  ifdef ALLOW_CD_CODE  #  ifdef ALLOW_CD_CODE
378  CADJ STORE etanm1             = comlev1, key = ikey_dynamics  CADJ STORE etanm1             = comlev1, key = ikey_dynamics
# Line 399  CADJ STORE rstarexpc = comlev1, key = ik Line 389  CADJ STORE rstarexpc = comlev1, key = ik
389          IF ( debugLevel .GE. debLevB )          IF ( debugLevel .GE. debLevB )
390       &    CALL DEBUG_CALL('THERMODYNAMICS',myThid)       &    CALL DEBUG_CALL('THERMODYNAMICS',myThid)
391  #endif  #endif
392    cph-adj-test(
393    CADJ STORE salt,wvel          = comlev1, key = ikey_dynamics
394    cph-adj-test)
395          CALL TIMER_START('THERMODYNAMICS      [FORWARD_STEP]',myThid)          CALL TIMER_START('THERMODYNAMICS      [FORWARD_STEP]',myThid)
396          CALL THERMODYNAMICS( myTime, myIter, myThid )          CALL THERMODYNAMICS( myTime, myIter, myThid )
397          CALL TIMER_STOP ('THERMODYNAMICS      [FORWARD_STEP]',myThid)          CALL TIMER_STOP ('THERMODYNAMICS      [FORWARD_STEP]',myThid)
# Line 660  CADJ STORE etaH          = comlev1, key Line 653  CADJ STORE etaH          = comlev1, key
653          CALL TIMER_STOP ('CALC_SURF_DR      [FORWARD_STEP]',myThid)          CALL TIMER_STOP ('CALC_SURF_DR      [FORWARD_STEP]',myThid)
654        ENDIF        ENDIF
655  # ifdef ALLOW_AUTODIFF_TAMC  # ifdef ALLOW_AUTODIFF_TAMC
 cph-test  
656  CADJ STORE hFac_surfC    = comlev1, key = ikey_dynamics  CADJ STORE hFac_surfC    = comlev1, key = ikey_dynamics
657    cph-adj-test(
658    CADJ STORE salt,theta,vvel  = comlev1, key = ikey_dynamics
659    cph-adj-test)
660  # endif  # endif
661  #endif /* NONLIN_FRSURF */  #endif /* NONLIN_FRSURF */
662    

Legend:
Removed from v.1.156  
changed lines
  Added in v.1.157

  ViewVC Help
Powered by ViewVC 1.1.22