2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
#include "PTRACERS_OPTIONS.h" |
#include "PTRACERS_OPTIONS.h" |
5 |
|
cswdptr -- add --- |
6 |
|
#ifdef ALLOW_GCHEM |
7 |
|
# include "GCHEM_OPTIONS.h" |
8 |
|
#endif |
9 |
|
cswdptr -- end add --- |
10 |
|
|
11 |
CBOP |
CBOP |
12 |
C !ROUTINE: PTRACERS_INTEGERATE |
C !ROUTINE: PTRACERS_INTEGRATE |
13 |
|
|
14 |
C !INTERFACE: ========================================================== |
C !INTERFACE: ========================================================== |
15 |
SUBROUTINE PTRACERS_INTEGERATE( |
SUBROUTINE PTRACERS_INTEGRATE( |
16 |
I bi,bj,k, |
I bi,bj,k, |
17 |
I xA,yA,uTrans,vTrans,rTrans,maskUp, |
I xA,yA,uTrans,vTrans,rTrans,maskUp, |
18 |
X KappaRtr, |
X KappaRtr, |
26 |
IMPLICIT NONE |
IMPLICIT NONE |
27 |
#include "SIZE.h" |
#include "SIZE.h" |
28 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
29 |
|
#include "PARAMS.h" |
30 |
#include "PTRACERS.h" |
#include "PTRACERS.h" |
31 |
#include "GAD.h" |
#include "GAD.h" |
32 |
|
|
120 |
I myThid ) |
I myThid ) |
121 |
|
|
122 |
C External forcing term(s) |
C External forcing term(s) |
123 |
|
cswdptr - add-- |
124 |
|
#ifndef PTRACERS_SEPERATE_FORCING |
125 |
|
cswdptr - end add --- |
126 |
IF ( forcing_In_AB ) |
IF ( forcing_In_AB ) |
127 |
& CALL PTRACERS_FORCING( |
& CALL PTRACERS_FORCING( |
128 |
I bi,bj,k,iTracer, |
I bi,bj,k,iTracer, |
129 |
U gPtr(1-Olx,1-Oly,1,1,1,iTracer), |
U gPtr(1-Olx,1-Oly,1,1,1,iTracer), |
130 |
I myIter,myTime,myThid) |
I myIter,myTime,myThid) |
131 |
|
cswdptr --add--- |
132 |
|
#endif |
133 |
|
cswdptr -- end add --- |
134 |
|
|
135 |
C If using Adams-Bashforth II, then extrapolate tendancies |
C If using Adams-Bashforth II, then extrapolate tendancies |
136 |
IF ( PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND |
IF ( PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND |
144 |
ENDIF |
ENDIF |
145 |
|
|
146 |
C External forcing term(s) |
C External forcing term(s) |
147 |
|
cswdptr - add-- |
148 |
|
#ifndef PTRACERS_SEPERATE_FORCING |
149 |
|
cswdptr - end add --- |
150 |
IF ( .NOT.forcing_In_AB ) |
IF ( .NOT.forcing_In_AB ) |
151 |
& CALL PTRACERS_FORCING( |
& CALL PTRACERS_FORCING( |
152 |
I bi,bj,k,iTracer, |
I bi,bj,k,iTracer, |
153 |
U gPtr(1-Olx,1-Oly,1,1,1,iTracer), |
U gPtr(1-Olx,1-Oly,1,1,1,iTracer), |
154 |
I myIter,myTime,myThid) |
I myIter,myTime,myThid) |
155 |
|
cswdptr - add-- |
156 |
|
#endif |
157 |
|
cswdptr -- end add --- |
158 |
|
|
159 |
#ifdef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
160 |
C Account for change in level thickness |
C Account for change in level thickness |
163 |
I bi,bj,K, |
I bi,bj,K, |
164 |
U gPtr(1-Olx,1-Oly,1,1,1,iTracer), |
U gPtr(1-Olx,1-Oly,1,1,1,iTracer), |
165 |
I myThid ) |
I myThid ) |
166 |
|
IF ( PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND |
167 |
|
& .OR.PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD |
168 |
|
& .OR.PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH ) |
169 |
|
& CALL FREESURF_RESCALE_G( |
170 |
|
I bi,bj,K, |
171 |
|
U gPtrNm1(1-Olx,1-Oly,1,1,1,iTracer), |
172 |
|
I myThid ) |
173 |
ENDIF |
ENDIF |
174 |
#endif /* NONLIN_FRSURF */ |
#endif /* NONLIN_FRSURF */ |
175 |
|
|