/[MITgcm]/MITgcm/pkg/ptracers/ptracers_read_pickup.F
ViewVC logotype

Diff of /MITgcm/pkg/ptracers/ptracers_read_pickup.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.14 by jmc, Sat Jan 2 23:42:51 2010 UTC revision 1.15 by jmc, Thu Mar 8 17:05:44 2012 UTC
# Line 22  C     !USES: Line 22  C     !USES:
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:
# Line 73  C       Read variables from the pickup f Line 73  C       Read variables from the pickup f
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
# Line 167  C       Read fields as consecutive recor Line 167  C       Read fields as consecutive recor
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    
# Line 177  C       Read historical tendencies as co Line 177  C       Read historical tendencies as co
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    
# Line 200  C       tracers, with write_pickup dumpi Line 200  C       tracers, with write_pickup dumpi
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    
# Line 219  C---   New way to read ptracer pickup: Line 219  C---   New way to read ptracer pickup:
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
# Line 229  C---    read pTracer 3-D tendencies for Line 229  C---    read pTracer 3-D tendencies for
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

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.22