22 |
#include "GAD.h" |
#include "GAD.h" |
23 |
#include "PTRACERS_SIZE.h" |
#include "PTRACERS_SIZE.h" |
24 |
#include "PTRACERS_PARAMS.h" |
#include "PTRACERS_PARAMS.h" |
25 |
#include "PTRACERS_RESTART.h" |
#include "PTRACERS_START.h" |
26 |
#include "PTRACERS_FIELDS.h" |
#include "PTRACERS_FIELDS.h" |
27 |
|
|
28 |
C !INPUT PARAMETERS: |
C !INPUT PARAMETERS: |
73 |
DO iTracer = 1, PTRACERS_numInUse |
DO iTracer = 1, PTRACERS_numInUse |
74 |
CALL MNC_CW_RL_R('D',fn,0,0, PTRACERS_names(iTracer), |
CALL MNC_CW_RL_R('D',fn,0,0, PTRACERS_names(iTracer), |
75 |
& gpTrNm1(1-OLx,1-OLy,1,1,1,iTracer),myThid) |
& gpTrNm1(1-OLx,1-OLy,1,1,1,iTracer),myThid) |
76 |
CALL EXCH_3D_RL( gpTrNm1(1-Olx,1-Oly,1,1,1,iTracer), |
CALL EXCH_3D_RL( gpTrNm1(1-OLx,1-OLy,1,1,1,iTracer), |
77 |
& Nr, myThid ) |
& Nr, myThid ) |
78 |
ENDDO |
ENDDO |
79 |
CALL MNC_CW_SET_UDIM(fn, 2, myThid) |
CALL MNC_CW_SET_UDIM(fn, 2, myThid) |
80 |
DO iTracer = 1, PTRACERS_numInUse |
DO iTracer = 1, PTRACERS_numInUse |
81 |
CALL MNC_CW_RL_R('D',fn,0,0, PTRACERS_names(iTracer), |
CALL MNC_CW_RL_R('D',fn,0,0, PTRACERS_names(iTracer), |
82 |
& pTracer(1-OLx,1-OLy,1,1,1,iTracer),myThid) |
& pTracer(1-OLx,1-OLy,1,1,1,iTracer),myThid) |
83 |
CALL EXCH_3D_RL( pTracer(1-Olx,1-Oly,1,1,1,iTracer), |
CALL EXCH_3D_RL( pTracer(1-OLx,1-OLy,1,1,1,iTracer), |
84 |
& Nr, myThid ) |
& Nr, myThid ) |
85 |
ENDDO |
ENDDO |
86 |
ENDIF |
ENDIF |
167 |
DO iTracer = 1, PTRACERS_numInUse |
DO iTracer = 1, PTRACERS_numInUse |
168 |
iRec = iTracer |
iRec = iTracer |
169 |
CALL READ_REC_3D_RL( fn, prec, Nr, |
CALL READ_REC_3D_RL( fn, prec, Nr, |
170 |
O pTracer(1-Olx,1-Oly,1,1,1,iTracer), |
O pTracer(1-OLx,1-OLy,1,1,1,iTracer), |
171 |
I iRec, myIter, myThid ) |
I iRec, myIter, myThid ) |
172 |
CALL EXCH_3D_RL( pTracer(1-Olx,1-Oly,1,1,1,iTracer), |
CALL EXCH_3D_RL( pTracer(1-OLx,1-OLy,1,1,1,iTracer), |
173 |
& Nr, myThid ) |
& Nr, myThid ) |
174 |
ENDDO |
ENDDO |
175 |
|
|
177 |
c DO iTracer = 1,PTRACERS_numInUse |
c DO iTracer = 1,PTRACERS_numInUse |
178 |
c iRec = iTracer + PTRACERS_num |
c iRec = iTracer + PTRACERS_num |
179 |
c CALL READ_REC_3D_RL( fn, prec, Nr, |
c CALL READ_REC_3D_RL( fn, prec, Nr, |
180 |
c O gPtr(1-Olx,1-Oly,1,1,1,iTracer), |
c O gPtr(1-OLx,1-OLy,1,1,1,iTracer), |
181 |
c I iRec, myIter, myThid ) |
c I iRec, myIter, myThid ) |
182 |
c CALL EXCH_3D_RL( gPtr(1-Olx,1-Oly,1,1,1,iTracer), |
c CALL EXCH_3D_RL( gPtr(1-OLx,1-OLy,1,1,1,iTracer), |
183 |
c & Nr, myThid ) |
c & Nr, myThid ) |
184 |
c ENDDO |
c ENDDO |
185 |
DO iTracer = 1, PTRACERS_numInUse |
DO iTracer = 1, PTRACERS_numInUse |
186 |
iRec = iTracer + PTRACERS_num*2 |
iRec = iTracer + PTRACERS_num*2 |
187 |
CALL READ_REC_3D_RL( fn, prec, Nr, |
CALL READ_REC_3D_RL( fn, prec, Nr, |
188 |
O gpTrNm1(1-Olx,1-Oly,1,1,1,iTracer), |
O gpTrNm1(1-OLx,1-OLy,1,1,1,iTracer), |
189 |
I iRec, myIter, myThid ) |
I iRec, myIter, myThid ) |
190 |
CALL EXCH_3D_RL( gpTrNm1(1-Olx,1-Oly,1,1,1,iTracer), |
CALL EXCH_3D_RL( gpTrNm1(1-OLx,1-OLy,1,1,1,iTracer), |
191 |
& Nr, myThid ) |
& Nr, myThid ) |
192 |
ENDDO |
ENDDO |
193 |
|
|
200 |
DO iTracer = 1, PTRACERS_numInUse |
DO iTracer = 1, PTRACERS_numInUse |
201 |
iRec = 2*iTracer -1 |
iRec = 2*iTracer -1 |
202 |
CALL READ_REC_3D_RL( fn, prec, Nr, |
CALL READ_REC_3D_RL( fn, prec, Nr, |
203 |
O pTracer(1-Olx,1-Oly,1,1,1,iTracer), |
O pTracer(1-OLx,1-OLy,1,1,1,iTracer), |
204 |
I iRec, myIter, myThid ) |
I iRec, myIter, myThid ) |
205 |
iRec = 2*iTracer |
iRec = 2*iTracer |
206 |
CALL READ_REC_3D_RL( fn, prec, Nr, |
CALL READ_REC_3D_RL( fn, prec, Nr, |
207 |
O gpTrNm1(1-Olx,1-Oly,1,1,1,iTracer), |
O gpTrNm1(1-OLx,1-OLy,1,1,1,iTracer), |
208 |
I iRec, myIter, myThid ) |
I iRec, myIter, myThid ) |
209 |
CALL EXCH_3D_RL( pTracer(1-Olx,1-Oly,1,1,1,iTracer), |
CALL EXCH_3D_RL( pTracer(1-OLx,1-OLy,1,1,1,iTracer), |
210 |
& Nr, myThid ) |
& Nr, myThid ) |
211 |
CALL EXCH_3D_RL( gpTrNm1(1-Olx,1-Oly,1,1,1,iTracer), |
CALL EXCH_3D_RL( gpTrNm1(1-OLx,1-OLy,1,1,1,iTracer), |
212 |
& Nr, myThid ) |
& Nr, myThid ) |
213 |
ENDDO |
ENDDO |
214 |
|
|
219 |
C--- read pTracer 3-D fields for restart |
C--- read pTracer 3-D fields for restart |
220 |
fldName = 'pTr'//PTRACERS_ioLabel(iTracer)//' ' |
fldName = 'pTr'//PTRACERS_ioLabel(iTracer)//' ' |
221 |
CALL READ_MFLDS_3D_RL( fldName, |
CALL READ_MFLDS_3D_RL( fldName, |
222 |
O pTracer(1-Olx,1-Oly,1,1,1,iTracer), |
O pTracer(1-OLx,1-OLy,1,1,1,iTracer), |
223 |
& nj, prec, Nr, myIter, myThid ) |
& nj, prec, Nr, myIter, myThid ) |
224 |
CALL EXCH_3D_RL( pTracer(1-Olx,1-Oly,1,1,1,iTracer), |
CALL EXCH_3D_RL( pTracer(1-OLx,1-OLy,1,1,1,iTracer), |
225 |
& Nr, myThid ) |
& Nr, myThid ) |
226 |
ENDDO |
ENDDO |
227 |
DO iTracer = 1, PTRACERS_numInUse |
DO iTracer = 1, PTRACERS_numInUse |
229 |
IF ( PTRACERS_AdamsBashGtr(iTracer) ) THEN |
IF ( PTRACERS_AdamsBashGtr(iTracer) ) THEN |
230 |
fldName = 'gPtr'//PTRACERS_ioLabel(iTracer)//'m1' |
fldName = 'gPtr'//PTRACERS_ioLabel(iTracer)//'m1' |
231 |
CALL READ_MFLDS_3D_RL( fldName, |
CALL READ_MFLDS_3D_RL( fldName, |
232 |
O gpTrNm1(1-Olx,1-Oly,1,1,1,iTracer), |
O gpTrNm1(1-OLx,1-OLy,1,1,1,iTracer), |
233 |
& nj, prec, Nr, myIter, myThid ) |
& nj, prec, Nr, myIter, myThid ) |
234 |
CALL EXCH_3D_RL( gpTrNm1(1-Olx,1-Oly,1,1,1,iTracer), |
CALL EXCH_3D_RL( gpTrNm1(1-OLx,1-OLy,1,1,1,iTracer), |
235 |
& Nr, myThid ) |
& Nr, myThid ) |
236 |
ENDIF |
ENDIF |
237 |
ENDDO |
ENDDO |