/[MITgcm]/MITgcm/pkg/ptracers/ptracers_implicit.F
ViewVC logotype

Diff of /MITgcm/pkg/ptracers/ptracers_implicit.F

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

revision 1.4 by mlosch, Mon Oct 10 05:53:48 2005 UTC revision 1.5 by jmc, Mon Nov 5 18:48:04 2007 UTC
# Line 7  CBOP Line 7  CBOP
7  C !ROUTINE: PTRACERS_IMPLICIT  C !ROUTINE: PTRACERS_IMPLICIT
8    
9  C !INTERFACE: ==========================================================  C !INTERFACE: ==========================================================
10        SUBROUTINE PTRACERS_IMPLICIT(        SUBROUTINE PTRACERS_IMPLICIT(
11       U                              kappaRk,       U                              kappaRk,
12       I                              bi, bj, myTime, myIter, myThid )       I                              bi, bj, myTime, myIter, myThid )
13    
# Line 20  C !USES: =============================== Line 20  C !USES: ===============================
20  #include "SIZE.h"  #include "SIZE.h"
21  #include "EEPARAMS.h"  #include "EEPARAMS.h"
22  #include "PTRACERS_SIZE.h"  #include "PTRACERS_SIZE.h"
23  #include "PTRACERS.h"  #include "PTRACERS_PARAMS.h"
24    #include "PTRACERS_FIELDS.h"
25  #include "PARAMS.h"  #include "PARAMS.h"
26  #include "GRID.h"  #include "GRID.h"
27  #include "GAD.h"  #include "GAD.h"
# Line 72  C Loop over tracers Line 73  C Loop over tracers
73            act3 = myThid - 1            act3 = myThid - 1
74            max3 = nTx*nTy            max3 = nTx*nTy
75            act4 = ikey_dynamics - 1            act4 = ikey_dynamics - 1
76            iptrkey = (act0 + 1)            iptrkey = (act0 + 1)
77       &                      + act1*max0       &                      + act1*max0
78       &                      + act2*max0*max1       &                      + act2*max0*max1
79       &                      + act3*max0*max1*max2       &                      + act3*max0*max1*max2
# Line 90  C Loop over tracers Line 91  C Loop over tracers
91          ENDIF          ENDIF
92    
93  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
94  CADJ STORE kappaRk(:,:,:) = comlev1_bibj_ptracers,  CADJ STORE kappaRk(:,:,:) = comlev1_bibj_ptracers,
95  CADJ &     key=iptrkey, byte=isbyte  CADJ &     key=iptrkey, byte=isbyte
96  CADJ STORE gPtr(:,:,:,bi,bj,iTracer) = comlev1_bibj_ptracers,  CADJ STORE gPtr(:,:,:,bi,bj,iTracer) = comlev1_bibj_ptracers,
97  CADJ &     key=iptrkey, byte=isbyte  CADJ &     key=iptrkey, byte=isbyte
98  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
99    
# Line 100  CADJ &     key=iptrkey, byte=isbyte Line 101  CADJ &     key=iptrkey, byte=isbyte
101          IF ( PTRACERS_ImplVertAdv(iTracer) ) THEN          IF ( PTRACERS_ImplVertAdv(iTracer) ) THEN
102    
103            CALL GAD_IMPLICIT_R(            CALL GAD_IMPLICIT_R(
104       I         PTRACERS_ImplVertAdv(iTracer),       I         PTRACERS_ImplVertAdv(iTracer),
105       I         PTRACERS_advScheme(iTracer), GAD_TR,       I         PTRACERS_advScheme(iTracer), GAD_TR,
106       I         kappaRk, wVel, pTracer(1-Olx,1-Oly,1,1,1,iTracer),       I         kappaRk, wVel, pTracer(1-Olx,1-Oly,1,1,1,iTracer),
107       U         gPtr(1-Olx,1-Oly,1,1,1,iTracer),       U         gPtr(1-Olx,1-Oly,1,1,1,iTracer),
# Line 121  CADJ &     key=iptrkey, byte=isbyte Line 122  CADJ &     key=iptrkey, byte=isbyte
122  C--      Apply open boundary conditions  C--      Apply open boundary conditions
123          IF ( useOBCS ) THEN          IF ( useOBCS ) THEN
124           DO K=1,Nr           DO K=1,Nr
125            CALL OBCS_APPLY_PTRACER(            CALL OBCS_APPLY_PTRACER(
126       I         bi, bj, K, iTracer,       I         bi, bj, K, iTracer,
127       U         gPtr(1-Olx,1-Oly,K,bi,bj,iTracer),       U         gPtr(1-Olx,1-Oly,K,bi,bj,iTracer),
128       I         myThid )       I         myThid )

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22