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
7eca977925 Jean*0001 #include "OCN_CPL_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: OCN_EXPORT_DATA
                0005 
                0006 C     !INTERFACE:
                0007       SUBROUTINE OCN_EXPORT_DATA(
                0008      I                      myTime, myIter, myThid )
                0009 
                0010 C     !DESCRIPTION: \bv
                0011 C     *==========================================================*
                0012 C     | SUBROUTINE OCN_EXPORT_DATA
                0013 C     | o Routine for controlling
                0014 C     |   - export of ocean coupling data to coupler layer
                0015 C     |     but only if using Sequential coupling.
                0016 C     |   - diagnostics of coupling fields (timeave pkg only),
                0017 C     |     whether Synchronous or Sequential coupling.
                0018 C     *==========================================================*
                0019 C     | This version talks to the MIT Coupler. It uses the MIT
                0020 C     | Coupler "checkpoint1" library calls.
                0021 C     *==========================================================*
                0022 C     \ev
                0023 
                0024 C     !USES
                0025       IMPLICIT NONE
                0026 C     == GLobal variables ==
                0027 #include "SIZE.h"
                0028 #include "EEPARAMS.h"
                0029 #include "PARAMS.h"
                0030 #include "CPL_PARAMS.h"
                0031 
                0032 C     !INPUT/OUTPUT PARAMETERS:
                0033 C     == Routine arguments ==
                0034 C     myTime  :: Current time in simulation.
                0035 C     myIter  :: Current timestep number.
                0036 C     myThid  :: Thread number for this instance of the routine.
                0037       _RL     myTime
                0038       INTEGER myIter
                0039       INTEGER myThid
                0040 CEOP
                0041 
                0042 #ifdef COMPONENT_MODULE
                0043 C     !LOCAL VARIABLES:
                0044 C     msgBuf  :: Informational/error message buffer
                0045       CHARACTER*(MAX_LEN_MBUF) msgBuf
                0046 
                0047 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0048 C     Note MIT Coupler checkpoint1 does not allow asynchronous posting of
                0049 C     data, so ordering has to be consistent with coupling layer ordering.
                0050 C--------------------------------------------------------------------------
                0051 C     Sequential coupling: Send data to coupling layer
                0052 
                0053       IF ( ocn_cplSequential ) THEN
                0054         IF ( debugMode ) THEN
                0055          _BEGIN_MASTER( myThid )
                0056          WRITE(msgBuf,'(A,I10)')
                0057      &    '  Exporting  oceanic surface fields at iter=', myIter
                0058          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
                0059      &                       SQUEEZE_RIGHT, myThid )
                0060          _END_MASTER( myThid )
                0061         ENDIF
                0062 
                0063         CALL OCN_STORE_MY_DATA(
                0064      I           myTime, myIter, myThid )
                0065 
4e3940889d Jean*0066         CALL OCN_EXPORT_FIELDS ( myIter, myThid )
7eca977925 Jean*0067 
                0068       ENDIF
                0069 
                0070 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0071 
                0072       IF ( cpl_taveFreq.GT.0. _d 0 ) THEN
                0073 C--   note: will move this "if" inside OCN_CPL_DIAGS when other diags
                0074 C           than time-ave are computed within OCN_CPL_DIAGS.
                0075         CALL OCN_CPL_DIAGS( myTime, myIter, myThid )
                0076       ENDIF
                0077 
                0078 #endif /* COMPONENT_MODULE */
                0079 
                0080       RETURN
                0081       END