77 |
INTEGER myThid |
INTEGER myThid |
78 |
CEOP |
CEOP |
79 |
|
|
80 |
|
C === Local variables === |
81 |
|
LOGICAL calcAdvection |
82 |
|
|
83 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
84 |
C-- only the kUp part of fverT is set in this subroutine |
C-- only the kUp part of fverT is set in this subroutine |
85 |
C-- the kDown is still required |
C-- the kDown is still required |
86 |
fVerT(1,1,kDown) = fVerT(1,1,kDown) |
fVerT(1,1,kDown) = fVerT(1,1,kDown) |
87 |
#endif |
#endif |
88 |
|
|
89 |
|
calcAdvection = tempAdvection .AND. .NOT.tempMultiDimAdvec |
90 |
CALL GAD_CALC_RHS( |
CALL GAD_CALC_RHS( |
91 |
I bi,bj,iMin,iMax,jMin,jMax,k,kM1,kUp,kDown, |
I bi,bj,iMin,iMax,jMin,jMax,k,kM1,kUp,kDown, |
92 |
I xA,yA,uTrans,vTrans,rTrans,maskUp, |
I xA,yA,uTrans,vTrans,rTrans,maskUp, |
93 |
I diffKhT, diffK4T, KappaRT, theta, |
I diffKhT, diffK4T, KappaRT, theta, |
94 |
I GAD_TEMPERATURE, tempAdvScheme, |
I GAD_TEMPERATURE, tempAdvScheme, calcAdvection, |
95 |
U fVerT, gT, |
U fVerT, gT, |
96 |
I myThid ) |
I myThid ) |
97 |
|
|
98 |
#ifdef INCLUDE_T_FORCING_CODE |
C-- External thermal forcing term(s) inside Adams-Bashforth: |
99 |
C-- External thermal forcing term(s) |
IF ( tempForcing .AND. forcing_In_AB ) |
100 |
CALL EXTERNAL_FORCING_T( |
& CALL EXTERNAL_FORCING_T( |
101 |
I iMin,iMax,jMin,jMax,bi,bj,k, |
I iMin,iMax,jMin,jMax,bi,bj,k, |
102 |
I myTime,myThid) |
I myTime,myThid) |
|
#endif /* INCLUDE_T_FORCING_CODE */ |
|
103 |
|
|
104 |
IF ( tempAdvScheme.EQ.ENUM_CENTERED_2ND |
IF ( tempAdamsBashforth ) THEN |
|
& .OR.tempAdvScheme.EQ.ENUM_UPWIND_3RD |
|
|
& .OR.tempAdvScheme.EQ.ENUM_CENTERED_4TH ) THEN |
|
105 |
CALL ADAMS_BASHFORTH2( |
CALL ADAMS_BASHFORTH2( |
106 |
I bi, bj, K, |
I bi, bj, K, |
107 |
U gT, gTnm1, |
U gT, gTnm1, |
108 |
I myIter, myThid ) |
I myIter, myThid ) |
109 |
ENDIF |
ENDIF |
110 |
|
|
111 |
|
C-- External thermal forcing term(s) outside Adams-Bashforth: |
112 |
|
IF ( tempForcing .AND. .NOT.forcing_In_AB ) |
113 |
|
& CALL EXTERNAL_FORCING_T( |
114 |
|
I iMin,iMax,jMin,jMax,bi,bj,k, |
115 |
|
I myTime,myThid) |
116 |
|
|
117 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
118 |
IF (nonlinFreeSurf.GT.0) THEN |
IF (nonlinFreeSurf.GT.0) THEN |
119 |
CALL FREESURF_RESCALE_G( |
CALL FREESURF_RESCALE_G( |