C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/ocn_compon_interf/cpl_write_pickup.F,v 1.5 2009/01/05 15:21:36 dfer Exp $ C $Name: $ #include "CPP_OPTIONS.h" CBOP C !ROUTINE: CPL_WRITE_PICKUP C !INTERFACE: SUBROUTINE CPL_WRITE_PICKUP( I suff, myTime, myIter, myThid ) C !DESCRIPTION: \bv C *==========================================================* C | SUBROUTINE CPL_WRITE_PICKUP | C | o Store coupling state for restart. | C | - Oceanic version - | C *==========================================================* C | Presently, the atmospheric compon. is in charge of the | C | writing of coupling fields ; nothing done here for now. | C *==========================================================* C \ev C !USES: IMPLICIT NONE C == Global variables == #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "CPL_PARAMS.h" #include "OCNIDS.h" #include "OCNCPL.h" C !INPUT/OUTPUT PARAMETERS: C == Routine arguments == C permPickup :: write a permanent pickup C suff :: suffix for pickup file (eg. ckptA or 0000000010) C myTime :: Current time in simulation C myIter :: Current iteration number in simulation C myThid :: My Thread Id number LOGICAL permPickup CHARACTER*(*) suff _RL myTime INTEGER myIter INTEGER myThid CEOP #ifdef COMPONENT_MODULE C == Local variables == C fn :: Workspace for building file name C rec_ind :: index of the record in pickup file CHARACTER*(MAX_LEN_FNAM) fn INTEGER prec, rec_ind WRITE(fn,'(A,A)') 'pickup_cpl.',suff prec = precFloat64 rec_ind=0 IF ( .NOT. cpl_earlyExpImpCall ) THEN CALL WRITE_REC_3D_RL( fn,prec,1, atmSLPr , 1, myIter, myThid ) CALL WRITE_REC_3D_RL( fn,prec,1, HeatFlux , 2, myIter, myThid ) CALL WRITE_REC_3D_RL( fn,prec,1, qShortWave, 3, myIter, myThid ) c CALL WRITE_REC_3D_RL( fn,prec,1, qLatent , 3, myIter, myThid ) c CALL WRITE_REC_3D_RL( fn,prec,1, qSensible , 3, myIter, myThid ) c CALL WRITE_REC_3D_RL( fn,prec,1, qLongWave , 3, myIter, myThid ) c CALL WRITE_REC_3D_RL( fn,prec,1, uVelGround, 3, myIter, myThid ) c CALL WRITE_REC_3D_RL( fn,prec,1, vVelGround, 3, myIter, myThid ) CALL WRITE_REC_3D_RL( fn,prec,1, tauX , 4, myIter, myThid ) CALL WRITE_REC_3D_RL( fn,prec,1, tauY , 5, myIter, myThid ) CALL WRITE_REC_3D_RL( fn,prec,1, FWFlux , 6, myIter, myThid ) CALL WRITE_REC_3D_RL( fn,prec,1, iceSaltFlx, 7, myIter, myThid ) CALL WRITE_REC_3D_RL( fn,prec,1, seaIceMass, 8, myIter, myThid ) rec_ind=8 ENDIF IF ( ocnCpl_exchange_DIC ) THEN c CALL WRITE_REC_3D_RL( fn,prec,1, c & airCO2 , 9,myIter,myThid) c CALL WRITE_REC_3D_RL( fn,prec,1, c & surfWSpeed, 10,myIter,myThid) c CALL WRITE_REC_3D_RL( fn,prec,1, c & fracIce , 11,myIter,myThid) CALL WRITE_REC_3D_RL( fn,prec,1, & fluxCO2cpl, rec_ind+1,myIter,myThid) ENDIF c CALL WRITE_REC_3D_RL( fn,prec,1, ocMxlD2cpl, c & 9+caroffset, myIter, myThid ) c CALL WRITE_REC_3D_RL( fn,prec,1, SSTocn2cpl, c & 10+caroffset, myIter, myThid ) c CALL WRITE_REC_3D_RL( fn,prec,1, SSSocn2cpl, c & 11+caroffset, myIter, myThid ) c CALL WRITE_REC_3D_RL( fn,prec,1, vSqocn2cpl, c & 12+caroffset, myIter, myThid ) #endif /* COMPONENT_MODULE */ RETURN END