C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/atm_compon_interf/atm_cpl_read_pickup.F,v 1.3 2007/10/01 13:39:53 jmc Exp $ C $Name: $ #include "CPP_OPTIONS.h" CBOP C !ROUTINE: ATM_CPL_READ_PICKUP C !INTERFACE: SUBROUTINE ATM_CPL_READ_PICKUP( myIter, myThid ) C !DESCRIPTION: \bv C *==========================================================* C | SUBROUTINE ATM_CPL_READ_PICKUP C | o Reads fields from a pickup file for a restart C *==========================================================* C *==========================================================* C \ev C !USES: IMPLICIT NONE C == Global variables == #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "CPL_PARAMS.h" #include "ATMIDS.h" #include "ATMCPL.h" C !INPUT/OUTPUT PARAMETERS: C == Routine arguments == C myIter :: Current time-step number C myThid :: my Thread Id number INTEGER myIter INTEGER myThid CEOP #ifdef COMPONENT_MODULE C == Local variables == INTEGER prec INTEGER i,j,bi,bj CHARACTER*(MAX_LEN_FNAM) fn WRITE(fn,'(A,I10.10)') 'pickup_cpl.',myIter prec = precFloat64 c IF ( cpl_oldPickup ) THEN C old pickup from before checkpoint 52m_post c CALL READ_REC_3D_RL(fn,prec,1,SSTocn , 1,myIter,myThid) c CALL READ_REC_3D_RL(fn,prec,1,HeatFlux , 2,myIter,myThid) c CALL READ_REC_3D_RL(fn,prec,1,tauX , 3,myIter,myThid) c CALL READ_REC_3D_RL(fn,prec,1,tauY , 4,myIter,myThid) c CALL READ_REC_3D_RL(fn,prec,1,EvMPrFlux , 5,myIter,myThid) c CALL READ_REC_3D_RL(fn,prec,1,RunOffFlux, 6,myIter,myThid) c RETURN c ENDIF CALL READ_REC_3D_RL( fn,prec,1, ocMxlD , 1, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, SSTocn , 2, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, SSSocn , 3, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, vSqocn , 4, myIter,myThid ) IF ( cpl_earlyExpImpCall ) THEN CALL READ_REC_3D_RL( fn,prec,1, atmSLPr , 5, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, HeatFlux , 6, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, qShortWave, 7, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, tauX , 8, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, tauY , 9, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, EvMPrFlux , 10, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, RunOffFlux, 11, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, RunOffEnFx, 12, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, iceSaltFlx, 13, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, seaIceMass, 14, myIter,myThid ) ENDIF IF ( atmCpl_exchange_DIC ) THEN CALL READ_REC_3D_RL( fn,prec,1, flxCO2ocn , 15, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, airCO2 , 16, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, sWSpeed , 17, myIter,myThid ) CALL READ_REC_3D_RL( fn,prec,1, fracIce , 18, myIter,myThid ) ENDIF IF ( cpl_oldPickup .AND. cpl_earlyExpImpCall ) THEN _BARRIER C- EmP & RunOff were (before checkpoint59h) in m/s , but are now in kg/m2/s: DO bj = myByLo(myThid), myByHi(myThid) DO bi = myBxLo(myThid), myBxHi(myThid) DO j=1-Oly,sNy+Oly DO i=1-Olx,sNx+Olx EvMPrFlux (i,j,bi,bj) = EvMPrFlux (i,j,bi,bj)*rhoConstFresh RunOffFlux(i,j,bi,bj) = RunOffFlux(i,j,bi,bj)*rhoConstFresh ENDDO ENDDO ENDDO ENDDO ENDIF #endif /* COMPONENT_MODULE */ RETURN END