1 |
C $Header: /u/gcmpack/MITgcm/pkg/ptracers/ptracers_cycle.F,v 1.1 2002/03/04 19:01:29 adcroft Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "PTRACERS_OPTIONS.h" |
5 |
|
6 |
CBOP |
7 |
C !ROUTINE: PTRACERS_CYCLE |
8 |
|
9 |
C !INTERFACE: ========================================================== |
10 |
SUBROUTINE PTRACERS_CYCLE(bi,bj,k,myIter,myTime,myThid) |
11 |
|
12 |
C !DESCRIPTION: |
13 |
C Cycle time-stepping arrays |
14 |
|
15 |
C !USES: =============================================================== |
16 |
IMPLICIT NONE |
17 |
#include "SIZE.h" |
18 |
#include "EEPARAMS.h" |
19 |
#include "PTRACERS_SIZE.h" |
20 |
#include "PTRACERS.h" |
21 |
|
22 |
C !INPUT PARAMETERS: =================================================== |
23 |
C bi,bj :: tile indices |
24 |
C k :: vertical level number |
25 |
C myIter :: time-step number |
26 |
C myTime :: model time |
27 |
C myThid :: thread number |
28 |
INTEGER bi,bj,k |
29 |
INTEGER myIter |
30 |
_RL myTime |
31 |
INTEGER myThid |
32 |
|
33 |
C !OUTPUT PARAMETERS: ================================================== |
34 |
C none |
35 |
|
36 |
#ifdef ALLOW_PTRACERS |
37 |
|
38 |
C !LOCAL VARIABLES: ==================================================== |
39 |
C iTracer :: loop indices |
40 |
C iMin,iMax,jMin,jMax :: Loop ranges |
41 |
INTEGER iTracer |
42 |
INTEGER iMin,iMax,jMin,jMax |
43 |
CEOP |
44 |
|
45 |
C Loop ranges |
46 |
iMin = 1-OLx+1 |
47 |
iMax = sNx+OLx |
48 |
jMin = 1-OLy+1 |
49 |
jMax = sNy+OLy |
50 |
|
51 |
C Loop over passive tracers |
52 |
DO iTracer=1,PTRACERS_numInUse |
53 |
|
54 |
C Cycle time-stepping arrays |
55 |
CALL CYCLE_TRACER( |
56 |
I bi,bj,iMin,iMax,jMin,jMax,K, |
57 |
U pTracer(1-Olx,1-Oly,1,1,1,iTracer), |
58 |
U gPtr(1-Olx,1-Oly,1,1,1,iTracer), |
59 |
U gPtrNm1(1-Olx,1-Oly,1,1,1,iTracer), |
60 |
I myTime,myThid ) |
61 |
|
62 |
C End of tracer loop |
63 |
ENDDO |
64 |
|
65 |
#endif /* ALLOW_PTRACERS */ |
66 |
|
67 |
RETURN |
68 |
END |