Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:42:48 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
071fa694ec Jean*0001 #include "OCN_CPL_OPTIONS.h"
c589a6f4c0 Jean*0002 
965e5ca6cc Jean*0003 CBOP
                0004 C     !ROUTINE: OCN_CPL_READ_PICKUP
                0005 C     !INTERFACE:
c589a6f4c0 Jean*0006       SUBROUTINE OCN_CPL_READ_PICKUP( myIter, myThid )
965e5ca6cc Jean*0007 
                0008 C     !DESCRIPTION: \bv
c589a6f4c0 Jean*0009 C     *==========================================================*
                0010 C     | SUBROUTINE OCN_CPL_READ_PICKUP
                0011 C     | o Reads fields from a pickup file for a restart
                0012 C     *==========================================================*
                0013 C     *==========================================================*
965e5ca6cc Jean*0014 C     \ev
                0015 
                0016 C     !USES:
c589a6f4c0 Jean*0017       IMPLICIT NONE
                0018 
                0019 C     == Global variables ==
                0020 #include "SIZE.h"
                0021 #include "EEPARAMS.h"
                0022 #include "PARAMS.h"
                0023 #include "CPL_PARAMS.h"
                0024 #include "OCNCPL.h"
fa93ef593f Davi*0025 #ifdef ALLOW_PTRACERS
90578acae6 Jean*0026 # include "PTRACERS_SIZE.h"
                0027 # include "PTRACERS_PARAMS.h"
fa93ef593f Davi*0028 #endif
c589a6f4c0 Jean*0029 
965e5ca6cc Jean*0030 C     !INPUT/OUTPUT PARAMETERS:
c589a6f4c0 Jean*0031 C     == Routine arguments ==
965e5ca6cc Jean*0032 C     myIter :: Iteration number
                0033 C     myThid :: my Thread Id number
c589a6f4c0 Jean*0034       INTEGER myIter
                0035       INTEGER myThid
965e5ca6cc Jean*0036 CEOP
c589a6f4c0 Jean*0037 
                0038 #ifdef COMPONENT_MODULE
965e5ca6cc Jean*0039 
                0040 C     !LOCAL VARIABLES:
7f76a37b3a Davi*0041       INTEGER prec, rec_ind
df5a9764ba Jean*0042       CHARACTER*(10) suff
c589a6f4c0 Jean*0043       CHARACTER*(MAX_LEN_FNAM) fn
                0044 
965e5ca6cc Jean*0045 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0046 
                0047        IF ( pickupSuff.EQ.' ' ) THEN
df5a9764ba Jean*0048          IF ( rwSuffixType.EQ.0 ) THEN
                0049            WRITE(fn,'(A,I10.10)') 'pickup_cpl.', myIter
                0050          ELSE
                0051            CALL RW_GET_SUFFIX( suff, startTime, myIter, myThid )
                0052            WRITE(fn,'(A,A)') 'pickup_cpl.', suff
                0053          ENDIF
965e5ca6cc Jean*0054        ELSE
                0055          WRITE(fn,'(A,A10)') 'pickup_cpl.', pickupSuff
                0056        ENDIF
c589a6f4c0 Jean*0057        prec = precFloat64
7f76a37b3a Davi*0058        rec_ind=0
c589a6f4c0 Jean*0059 
44ff40f0ae Jean*0060 c      IF ( .NOT. cpl_earlyExpImpCall ) THEN
                0061 c        CALL READ_REC_3D_RL( fn,prec,1,atmSLPr   , 1,myIter,myThid )
                0062 c        CALL READ_REC_3D_RL( fn,prec,1,HeatFlux  , 2,myIter,myThid )
                0063 c        CALL READ_REC_3D_RL( fn,prec,1,qShortWave, 3,myIter,myThid )
                0064 c        CALL READ_REC_3D_RL( fn,prec,1,tauX      , 4,myIter,myThid )
                0065 c        CALL READ_REC_3D_RL( fn,prec,1,tauY      , 5,myIter,myThid )
                0066 c        CALL READ_REC_3D_RL( fn,prec,1,FWFlux    , 6,myIter,myThid )
                0067 c        CALL READ_REC_3D_RL( fn,prec,1,iceSaltFlx, 7,myIter,myThid )
                0068 c        CALL READ_REC_3D_RL( fn,prec,1,seaIceMass, 8,myIter,myThid )
                0069 c        rec_ind=8
                0070 c      ENDIF
c589a6f4c0 Jean*0071 
90578acae6 Jean*0072 #ifdef ALLOW_DIC
071fa694ec Jean*0073        IF ( ocn_cplExch_DIC ) THEN
fa93ef593f Davi*0074          IF (nIter0.GT.PTRACERS_Iter0) THEN
9f24b0ff20 Jean*0075           rec_ind = rec_ind+1
                0076           CALL READ_REC_3D_RL( fn, prec, 1,
                0077      &                         fluxCO2cpl, rec_ind, myIter, myThid )
fa93ef593f Davi*0078          ENDIF
e7c6a47db7 Jeff*0079        ENDIF
90578acae6 Jean*0080 #endif /* ALLOW_DIC */
e7c6a47db7 Jeff*0081 
c589a6f4c0 Jean*0082 C--   Fill in the halo region:
44ff40f0ae Jean*0083 c      IF ( .NOT. cpl_earlyExpImpCall ) THEN
                0084 c        _EXCH_XY_RL( atmSLPr   , myThid )
                0085 c        _EXCH_XY_RL( HeatFlux  , myThid )
                0086 c        _EXCH_XY_RL( qShortWave, myThid )
                0087 c        CALL EXCH_UV_XY_RL( tauX, tauY, .TRUE., myThid )
                0088 c        _EXCH_XY_RL( FWFlux    , myThid )
                0089 c        _EXCH_XY_RL( iceSaltFlx, myThid )
                0090 c        _EXCH_XY_RL( seaIceMass, myThid )
                0091 c      ENDIF
90578acae6 Jean*0092 #ifdef ALLOW_DIC
071fa694ec Jean*0093        IF ( ocn_cplExch_DIC ) THEN
7163a40534 Jean*0094          _EXCH_XY_RL( fluxCO2cpl, myThid )
e7c6a47db7 Jeff*0095        ENDIF
90578acae6 Jean*0096 #endif /* ALLOW_DIC */
c589a6f4c0 Jean*0097 
                0098 #endif /* COMPONENT_MODULE */
                0099 
                0100       RETURN
                0101       END