/[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.160 by jmc, Thu Dec 1 14:22:27 2011 UTC revision 1.161 by jmc, Mon Mar 5 18:21:12 2012 UTC
# Line 123  C      |-- MOM_VECINV Line 123  C      |-- MOM_VECINV
123  C      |  C      |
124  C      |-- TIMESTEP  C      |-- TIMESTEP
125  C      |  C      |
 C      |-- OBCS_APPLY_UV  
 C      |  
126  C      |-- MOM_U_IMPLICIT_R  C      |-- MOM_U_IMPLICIT_R
127  C      |-- MOM_V_IMPLICIT_R  C      |-- MOM_V_IMPLICIT_R
128  C      |  C      |
# Line 180  C                      index into fVerTe Line 178  C                      index into fVerTe
178        _RL fVerV   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)        _RL fVerV   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,2)
179        _RL phiHydF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL phiHydF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
180        _RL phiHydC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL phiHydC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
181        _RL dPhiHydX(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL dPhiHydX(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
182        _RL dPhiHydY(1-Olx:sNx+Olx,1-Oly:sNy+Oly)        _RL dPhiHydY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
183        _RL phiSurfX(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL phiSurfX(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
184        _RL phiSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL phiSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
185        _RL guDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL guDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
186        _RL gvDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL gvDissip(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
187        _RL KappaRU (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)        _RL KappaRU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
188        _RL KappaRV (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr)        _RL KappaRV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
189    
190        INTEGER iMin, iMax        INTEGER iMin, iMax
191        INTEGER jMin, jMax        INTEGER jMin, jMax
# Line 265  C   if desired: Line 263  C   if desired:
263  #endif  #endif
264    
265  #ifdef ALLOW_AUTODIFF_MONITOR_DIAG  #ifdef ALLOW_AUTODIFF_MONITOR_DIAG
266        CALL DUMMY_IN_DYNAMICS( mytime, myiter, myThid )        CALL DUMMY_IN_DYNAMICS( myTime, myIter, myThid )
267  #endif  #endif
268    
269  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
# Line 299  CHPF$&                  ) Line 297  CHPF$&                  )
297  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
298    
299  C--   Set up work arrays with valid (i.e. not NaN) values  C--   Set up work arrays with valid (i.e. not NaN) values
300  C     These inital values do not alter the numerical results. They  C     These initial values do not alter the numerical results. They
301  C     just ensure that all memory references are to valid floating  C     just ensure that all memory references are to valid floating
302  C     point numbers. This prevents spurious hardware signals due to  C     point numbers. This prevents spurious hardware signals due to
303  C     uninitialised but inert locations.  C     uninitialised but inert locations.
# Line 355  C--     Start computation of dynamics Line 353  C--     Start computation of dynamics
353          jMax = sNy+1          jMax = sNy+1
354    
355  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
356  CADJ STORE wvel (:,:,:,bi,bj) =  CADJ STORE wVel (:,:,:,bi,bj) =
357  CADJ &     comlev1_bibj, key=idynkey, byte=isbyte  CADJ &     comlev1_bibj, key=idynkey, byte=isbyte
358  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
359    
360  C--     Explicit part of the Surface Potentiel Gradient (add in TIMESTEP)  C--     Explicit part of the Surface Potential Gradient (add in TIMESTEP)
361  C       (note: this loop will be replaced by CALL CALC_GRAD_ETA)  C       (note: this loop will be replaced by CALL CALC_GRAD_ETA)
362          IF (implicSurfPress.NE.1.) THEN          IF (implicSurfPress.NE.1.) THEN
363            CALL CALC_GRAD_PHI_SURF(            CALL CALC_GRAD_PHI_SURF(
# Line 370  C       (note: this loop will be replace Line 368  C       (note: this loop will be replace
368          ENDIF          ENDIF
369    
370  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
371  CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=idynkey, byte=isbyte  CADJ STORE uVel (:,:,:,bi,bj) = comlev1_bibj, key=idynkey, byte=isbyte
372  CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=idynkey, byte=isbyte  CADJ STORE vVel (:,:,:,bi,bj) = comlev1_bibj, key=idynkey, byte=isbyte
373  #ifdef ALLOW_KPP  #ifdef ALLOW_KPP
374  CADJ STORE KPPviscAz (:,:,:,bi,bj)  CADJ STORE KPPviscAz (:,:,:,bi,bj)
375  CADJ &                 = comlev1_bibj, key=idynkey, byte=isbyte  CADJ &                 = comlev1_bibj, key=idynkey, byte=isbyte
# Line 407  C--   For Stevens boundary conditions ve Line 405  C--   For Stevens boundary conditions ve
405  C     (copied) to a narrow strip outside the domain  C     (copied) to a narrow strip outside the domain
406           IF ( useOBCS ) THEN           IF ( useOBCS ) THEN
407            CALL OBCS_COPY_UV_N(            CALL OBCS_COPY_UV_N(
408       U         uVel(1-Olx,1-Oly,1,bi,bj),       U         uVel(1-OLx,1-OLy,1,bi,bj),
409       U         vVel(1-Olx,1-Oly,1,bi,bj),       U         vVel(1-OLx,1-OLy,1,bi,bj),
410       I         Nr, bi, bj, myThid )       I         Nr, bi, bj, myThid )
411           ENDIF           ENDIF
412  #endif /* ALLOW_OBCS */  #endif /* ALLOW_OBCS */
# Line 428  C--       kDown  Cycles through 2,1 to p Line 426  C--       kDown  Cycles through 2,1 to p
426  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
427           kkey = (idynkey-1)*Nr + k           kkey = (idynkey-1)*Nr + k
428  c  c
429  CADJ STORE totphihyd (:,:,k,bi,bj)  CADJ STORE totPhiHyd (:,:,k,bi,bj)
430  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
431  CADJ STORE phihydlow (:,:,bi,bj)  CADJ STORE phiHydLow (:,:,bi,bj)
432  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
433  CADJ STORE theta (:,:,k,bi,bj)  CADJ STORE theta (:,:,k,bi,bj)
434  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
435  CADJ STORE salt  (:,:,k,bi,bj)  CADJ STORE salt  (:,:,k,bi,bj)
436  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
437  CADJ STORE gt(:,:,k,bi,bj)  CADJ STORE gT(:,:,k,bi,bj)
438  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
439  CADJ STORE gs(:,:,k,bi,bj)  CADJ STORE gS(:,:,k,bi,bj)
440  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
441  # ifdef NONLIN_FRSURF  # ifdef NONLIN_FRSURF
442  cph-test  cph-test
# Line 446  CADJ STORE  phiHydC (:,:) Line 444  CADJ STORE  phiHydC (:,:)
444  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
445  CADJ STORE  phiHydF (:,:)  CADJ STORE  phiHydF (:,:)
446  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
447  CADJ STORE  gudissip (:,:)  CADJ STORE  guDissip (:,:)
448  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
449  CADJ STORE  gvdissip (:,:)  CADJ STORE  gvDissip (:,:)
450  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
451  CADJ STORE  fVerU (:,:,:)  CADJ STORE  fVerU (:,:,:)
452  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
453  CADJ STORE  fVerV (:,:,:)  CADJ STORE  fVerV (:,:,:)
454  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
455  CADJ STORE gu(:,:,k,bi,bj)  CADJ STORE gU(:,:,k,bi,bj)
456  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
457  CADJ STORE gv(:,:,k,bi,bj)  CADJ STORE gV(:,:,k,bi,bj)
458  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
459  #  ifndef ALLOW_ADAMSBASHFORTH_3  #  ifndef ALLOW_ADAMSBASHFORTH_3
460  CADJ STORE gunm1(:,:,k,bi,bj)  CADJ STORE guNm1(:,:,k,bi,bj)
461  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
462  CADJ STORE gvnm1(:,:,k,bi,bj)  CADJ STORE gvNm1(:,:,k,bi,bj)
463  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
464  #  else  #  else
465  CADJ STORE gunm(:,:,k,bi,bj,1)  CADJ STORE guNm(:,:,k,bi,bj,1)
466  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
467  CADJ STORE gunm(:,:,k,bi,bj,2)  CADJ STORE guNm(:,:,k,bi,bj,2)
468  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
469  CADJ STORE gvnm(:,:,k,bi,bj,1)  CADJ STORE gvNm(:,:,k,bi,bj,1)
470  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
471  CADJ STORE gvnm(:,:,k,bi,bj,2)  CADJ STORE gvNm(:,:,k,bi,bj,2)
472  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
473  #  endif  #  endif
474  #  ifdef ALLOW_CD_CODE  #  ifdef ALLOW_CD_CODE
475  CADJ STORE unm1(:,:,k,bi,bj)  CADJ STORE uNM1(:,:,k,bi,bj)
476  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
477  CADJ STORE vnm1(:,:,k,bi,bj)  CADJ STORE vNM1(:,:,k,bi,bj)
478  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte
479  CADJ STORE uVelD(:,:,k,bi,bj)  CADJ STORE uVelD(:,:,k,bi,bj)
480  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     = comlev1_bibj_k, key=kkey, byte=isbyte

Legend:
Removed from v.1.160  
changed lines
  Added in v.1.161

  ViewVC Help
Powered by ViewVC 1.1.22