/[MITgcm]/MITgcm/model/src/read_pickup.F
ViewVC logotype

Diff of /MITgcm/model/src/read_pickup.F

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

revision 1.5 by jmc, Sun Jun 14 21:45:12 2009 UTC revision 1.6 by jmc, Fri Dec 11 13:53:07 2009 UTC
# Line 240  C---   Old way to read model fields: Line 240  C---   Old way to read model fields:
240           IF ( use3Dsolver ) THEN           IF ( use3Dsolver ) THEN
241            WRITE(fn,'(A,A10)') 'pickup_nh.',suff            WRITE(fn,'(A,A10)') 'pickup_nh.',suff
242            CALL READ_REC_3D_RL( fn, fp, Nr, phi_nh,  1, myIter,myThid )            CALL READ_REC_3D_RL( fn, fp, Nr, phi_nh,  1, myIter,myThid )
243    #ifdef ALLOW_ADAMSBASHFORTH_3
244              CALL READ_REC_3D_RL( fn, fp, Nr, gwNm(1-Olx,1-Oly,1,1,1,1),
245         &                                              2, myIter,myThid )
246              CALL READ_REC_3D_RL( fn, fp, Nr, gwNm(1-Olx,1-Oly,1,1,1,2),
247         &                                              2, myIter,myThid )
248    #else /*  ALLOW_ADAMSBASHFORTH_3 */
249            CALL READ_REC_3D_RL( fn, fp, Nr, gwNm1,   2, myIter,myThid )            CALL READ_REC_3D_RL( fn, fp, Nr, gwNm1,   2, myIter,myThid )
250    #endif /*  ALLOW_ADAMSBASHFORTH_3 */
251          ENDIF          ENDIF
252  #endif  #endif /* ALLOW_NONHYDROSTATIC */
253         ELSE         ELSE
254  C---   New way to read model fields:  C---   New way to read model fields:
255            nj = 0            nj = 0
# Line 319  C--     Salinity: Line 326  C--     Salinity:
326       &                                     nj, fp, Nr, myIter, myThid )       &                                     nj, fp, Nr, myIter, myThid )
327           ENDIF           ENDIF
328          ENDIF          ENDIF
329    #ifdef ALLOW_NONHYDROSTATIC
330            IF ( nonHydrostatic ) THEN
331    C--     W velocity:
332             IF ( alph_AB.NE.0. .OR. beta_AB.NE.0. ) THEN
333              CALL READ_MFLDS_3D_RL( 'GwNm1   ',gwNm(1-Olx,1-Oly,1,1,1,m1),
334         &                                     nj, fp, Nr, myIter, myThid )
335             ENDIF
336             IF ( beta_AB.NE.0. ) THEN
337              CALL READ_MFLDS_3D_RL( 'GwNm2   ',gwNm(1-Olx,1-Oly,1,1,1,m2),
338         &                                     nj, fp, Nr, myIter, myThid )
339             ENDIF
340            ENDIF
341    #endif /* ALLOW_NONHYDROSTATIC */
342  #else /*  ALLOW_ADAMSBASHFORTH_3 */  #else /*  ALLOW_ADAMSBASHFORTH_3 */
343          IF ( momStepping ) THEN          IF ( momStepping ) THEN
344  C--     U velocity:  C--     U velocity:
# Line 338  C--     Salinity Line 358  C--     Salinity
358            CALL READ_MFLDS_3D_RL( 'GsNm1   ', gsNm1,            CALL READ_MFLDS_3D_RL( 'GsNm1   ', gsNm1,
359       &                                     nj, fp, Nr, myIter, myThid )       &                                     nj, fp, Nr, myIter, myThid )
360          ENDIF          ENDIF
361    #ifdef ALLOW_NONHYDROSTATIC
362            IF ( nonHydrostatic ) THEN
363              CALL READ_MFLDS_3D_RL( 'GwNm1   ', gwNm1,
364         &                                     nj, fp, Nr, myIter, myThid )
365            ENDIF
366    #endif /* ALLOW_NONHYDROSTATIC */
367  #endif /*  ALLOW_ADAMSBASHFORTH_3 */  #endif /*  ALLOW_ADAMSBASHFORTH_3 */
368    
369  C-      read Full Pressure for EOS in pressure:  C-      read Full Pressure for EOS in pressure:
# Line 350  C-      read Full Pressure for EOS in pr Line 376  C-      read Full Pressure for EOS in pr
376            CALL READ_MFLDS_3D_RL( 'Phi_NHyd', phi_nh,            CALL READ_MFLDS_3D_RL( 'Phi_NHyd', phi_nh,
377       &                                     nj, fp, Nr, myIter, myThid )       &                                     nj, fp, Nr, myIter, myThid )
378          ENDIF          ENDIF
379          IF ( nonHydrostatic ) THEN  #endif /* ALLOW_NONHYDROSTATIC */
           CALL READ_MFLDS_3D_RL( 'GwNm1   ', gwNm1,  
      &                                     nj, fp, Nr, myIter, myThid )  
         ENDIF  
 #endif  
380  #ifdef ALLOW_ADDFLUID  #ifdef ALLOW_ADDFLUID
381  C-    read mass source/sink of fluid  C-    read mass source/sink of fluid
382          IF ( selectAddFluid.GE.1 ) THEN          IF ( selectAddFluid.GE.1 ) THEN
# Line 367  C---    read 2-D fields, starting with E Line 389  C---    read 2-D fields, starting with E
389            nj = nj*Nr            nj = nj*Nr
390            CALL READ_MFLDS_3D_RL( 'EtaN    ', etaN,            CALL READ_MFLDS_3D_RL( 'EtaN    ', etaN,
391       &                                     nj, fp, 1 , myIter, myThid )       &                                     nj, fp, 1 , myIter, myThid )
392    #ifdef ALLOW_NONHYDROSTATIC
393            IF ( selectNHfreeSurf.GE.1 ) THEN
394              CALL READ_MFLDS_3D_RL( 'dPhiNH  ', dPhiNH,
395         &                                     nj, fp, 1 , myIter, myThid )
396            ENDIF
397    #endif /* ALLOW_NONHYDROSTATIC */
398  #ifdef EXACT_CONSERV  #ifdef EXACT_CONSERV
399          IF ( exactConserv ) THEN          IF ( exactConserv ) THEN
400            CALL READ_MFLDS_3D_RL( 'dEtaHdt ', dEtaHdt,            CALL READ_MFLDS_3D_RL( 'dEtaHdt ', dEtaHdt,
# Line 376  C---    read 2-D fields, starting with E Line 404  C---    read 2-D fields, starting with E
404            CALL READ_MFLDS_3D_RL( 'EtaH    ', etaH,            CALL READ_MFLDS_3D_RL( 'EtaH    ', etaH,
405       &                                     nj, fp, 1 , myIter, myThid )       &                                     nj, fp, 1 , myIter, myThid )
406          ENDIF          ENDIF
407  #endif  #endif /* EXACT_CONSERV */
408  C--    end: new way to read pickup file  C--    end: new way to read pickup file
409         ENDIF         ENDIF
410    
# Line 433  C#endif Line 461  C#endif
461          IF (use3Dsolver) THEN          IF (use3Dsolver) THEN
462            CALL MNC_CW_RL_R('D',fn,0,0,'phi_nh', phi_nh, myThid)            CALL MNC_CW_RL_R('D',fn,0,0,'phi_nh', phi_nh, myThid)
463  c         CALL MNC_CW_RL_R('D',fn,0,0,'gW', gW, myThid)  c         CALL MNC_CW_RL_R('D',fn,0,0,'gW', gW, myThid)
464    #ifndef ALLOW_ADAMSBASHFORTH_3
465            CALL MNC_CW_RL_R('D',fn,0,0,'gWnm1', gwNm1, myThid)            CALL MNC_CW_RL_R('D',fn,0,0,'gWnm1', gwNm1, myThid)
466    #endif
467          ENDIF          ENDIF
468  #endif  #endif
469          IF ( useDynP_inEos_Zc ) THEN          IF ( useDynP_inEos_Zc ) THEN
# Line 451  C     Fill in edge regions Line 481  C     Fill in edge regions
481  #ifdef ALLOW_ADAMSBASHFORTH_3  #ifdef ALLOW_ADAMSBASHFORTH_3
482        CALL EXCH_UV_3D_RL( guNm(1-Olx,1-Oly,1,1,1,1),        CALL EXCH_UV_3D_RL( guNm(1-Olx,1-Oly,1,1,1,1),
483       &                    gvNm(1-Olx,1-Oly,1,1,1,1),.TRUE.,Nr,myThid )       &                    gvNm(1-Olx,1-Oly,1,1,1,1),.TRUE.,Nr,myThid )
       CALL EXCH_3D_RL( gtNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid )  
       CALL EXCH_3D_RL( gsNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid )  
484        CALL EXCH_UV_3D_RL( guNm(1-Olx,1-Oly,1,1,1,2),        CALL EXCH_UV_3D_RL( guNm(1-Olx,1-Oly,1,1,1,2),
485       &                    gvNm(1-Olx,1-Oly,1,1,1,2),.TRUE.,Nr,myThid )       &                    gvNm(1-Olx,1-Oly,1,1,1,2),.TRUE.,Nr,myThid )
486          CALL EXCH_3D_RL( gtNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid )
487        CALL EXCH_3D_RL( gtNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid )        CALL EXCH_3D_RL( gtNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid )
488          CALL EXCH_3D_RL( gsNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid )
489        CALL EXCH_3D_RL( gsNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid )        CALL EXCH_3D_RL( gsNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid )
490  #else /* ALLOW_ADAMSBASHFORTH_3 */  #else /* ALLOW_ADAMSBASHFORTH_3 */
491        CALL EXCH_UV_3D_RL( guNm1, gvNm1, .TRUE., Nr, myThid )        CALL EXCH_UV_3D_RL( guNm1, gvNm1, .TRUE., Nr, myThid )
# Line 474  C     Fill in edge regions Line 504  C     Fill in edge regions
504  #ifdef ALLOW_NONHYDROSTATIC  #ifdef ALLOW_NONHYDROSTATIC
505        IF ( use3Dsolver ) THEN        IF ( use3Dsolver ) THEN
506          CALL EXCH_3D_RL( phi_nh, Nr, myThid )          CALL EXCH_3D_RL( phi_nh, Nr, myThid )
507          ENDIF
508          IF ( nonHydrostatic ) THEN
509    #ifdef ALLOW_ADAMSBASHFORTH_3
510            CALL EXCH_3D_RL( gwNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid )
511            CALL EXCH_3D_RL( gwNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid )
512    #else /* ALLOW_ADAMSBASHFORTH_3 */
513          CALL EXCH_3D_RL( gwNm1,  Nr, myThid )          CALL EXCH_3D_RL( gwNm1,  Nr, myThid )
514    #endif /* ALLOW_ADAMSBASHFORTH_3 */
515        ENDIF        ENDIF
516  #endif        IF ( selectNHfreeSurf.GE.1 ) THEN
517            CALL EXCH_XY_RL( dPhiNH, myThid )
518          ENDIF
519    #endif /* ALLOW_NONHYDROSTATIC */
520    
521        RETURN        RETURN
522        END        END

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22