42 |
|
|
43 |
C Initialise internal parameter in common block: |
C Initialise internal parameter in common block: |
44 |
DO iTracer = 1, PTRACERS_num |
DO iTracer = 1, PTRACERS_num |
45 |
|
PTRACERS_MultiDimAdv(iTracer) = multiDimAdvection |
46 |
|
PTRACERS_SOM_Advection(iTracer) = .FALSE. |
47 |
|
PTRACERS_AdamsBashGtr(iTracer) = .FALSE. |
48 |
|
PTRACERS_startAB(iTracer) = nIter0 - PTRACERS_Iter0 |
49 |
|
ENDDO |
50 |
|
|
51 |
|
C Loop over tracers |
52 |
|
DO iTracer = 1, PTRACERS_numInUse |
53 |
|
|
54 |
|
IF ( |
55 |
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND .OR. |
56 |
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD .OR. |
57 |
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH |
58 |
|
& ) PTRACERS_MultiDimAdv(iTracer) = .FALSE. |
59 |
|
useMultiDimAdvec = useMultiDimAdvec |
60 |
|
& .OR. PTRACERS_MultiDimAdv(iTracer) |
61 |
|
PTRACERS_AdamsBashGtr(iTracer) = |
62 |
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND .OR. |
63 |
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD .OR. |
64 |
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH |
65 |
|
|
66 |
PTRACERS_SOM_Advection(iTracer) = |
PTRACERS_SOM_Advection(iTracer) = |
67 |
& PTRACERS_advScheme(iTracer).GE.ENUM_SOM_PRATHER |
& PTRACERS_advScheme(iTracer).GE.ENUM_SOM_PRATHER |
68 |
& .AND. PTRACERS_advScheme(iTracer).LE.ENUM_SOM_LIMITER |
& .AND. PTRACERS_advScheme(iTracer).LE.ENUM_SOM_LIMITER |
89 |
ENDIF |
ENDIF |
90 |
#endif /* ndef PTRACERS_ALLOW_DYN_STATE */ |
#endif /* ndef PTRACERS_ALLOW_DYN_STATE */ |
91 |
|
|
92 |
WRITE(msgBuf,'(2A,I3,A,L5)') 'PTRACERS_INIT_FIXED: ', |
WRITE(msgBuf,'(2A,I4,A,L5)') 'PTRACERS_INIT_FIXED: ', |
93 |
& 'PTRACERS_SOM_Advection(', iTracer, ') = ', |
& 'PTRACERS_SOM_Advection(', iTracer, ') = ', |
94 |
& PTRACERS_SOM_Advection(iTracer) |
& PTRACERS_SOM_Advection(iTracer) |
95 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
96 |
& SQUEEZE_RIGHT, myThid) |
& SQUEEZE_RIGHT, myThid) |
97 |
|
|
98 |
PTRACERS_MultiDimAdv(iTracer) = multiDimAdvection |
C end of Tracer loop |
|
PTRACERS_AdamsBashGtr(iTracer) = .FALSE. |
|
|
PTRACERS_startAB(iTracer) = nIter0 - PTRACERS_Iter0 |
|
99 |
ENDDO |
ENDDO |
100 |
|
|
101 |
#ifdef PTRACERS_ALLOW_DYN_STATE |
#ifdef PTRACERS_ALLOW_DYN_STATE |
107 |
& myThid ) |
& myThid ) |
108 |
#endif |
#endif |
109 |
|
|
|
C Loop over tracers |
|
|
DO iTracer = 1, PTRACERS_numInUse |
|
|
|
|
|
IF ( |
|
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND .OR. |
|
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD .OR. |
|
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH |
|
|
& ) PTRACERS_MultiDimAdv(iTracer) = .FALSE. |
|
|
useMultiDimAdvec = useMultiDimAdvec |
|
|
& .OR. PTRACERS_MultiDimAdv(iTracer) |
|
|
PTRACERS_AdamsBashGtr(iTracer) = |
|
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND .OR. |
|
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD .OR. |
|
|
& PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH |
|
|
|
|
|
C end of Tracer loop |
|
|
ENDDO |
|
110 |
_END_MASTER( myThid ) |
_END_MASTER( myThid ) |
111 |
_BARRIER |
_BARRIER |
112 |
|
|