1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
#include "CPP_OPTIONS.h" |
#include "ATM_CPL_OPTIONS.h" |
5 |
|
|
6 |
CBOP |
CBOP |
7 |
C !ROUTINE: CPL_EXPORT_IMPORT_DATA |
C !ROUTINE: CPL_EXPORT_IMPORT_DATA |
48 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
49 |
|
|
50 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
51 |
C Send data to coupling layer. Note MIT Coupler checkpoint1 |
C Note MIT Coupler checkpoint1 does not allow asynchronous posting of |
52 |
C does not allow asynchronous posting of data, so ordering |
C data, so ordering has to be consistent with coupling layer ordering. |
53 |
C has to be consistent with coupling layer ordering. |
C-------------------------------------------------------------------------- |
54 |
|
C Send data to coupling layer |
55 |
|
|
56 |
IF ( MOD(myIter,cplSendFrq_iter).EQ.0 ) THEN |
IF ( MOD(myIter,cplSendFrq_iter).EQ.0 ) THEN |
57 |
_BEGIN_MASTER( myThid ) |
_BEGIN_MASTER( myThid ) |
58 |
IF ( debugMode .OR. countPrtExp.LT.maxNumberPrint ) THEN |
IF ( debugMode .OR. countPrtExp.LT.maxNumberPrint ) THEN |
|
c WRITE(0,'(A,I5,A,I10)') ' Exporting (pid=', myProcId, |
|
|
c & ' ) atmospheric fluxes at iter.', myIter |
|
59 |
WRITE(msgBuf,'(A,I10)') |
WRITE(msgBuf,'(A,I10)') |
60 |
& ' Exporting atmospheric fluxes at iter.', myIter |
& ' Exporting atmospheric surf fluxes at iter=', myIter |
61 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
62 |
& SQUEEZE_RIGHT, myThid ) |
& SQUEEZE_RIGHT, myThid ) |
63 |
countPrtExp = countPrtExp + 1 |
countPrtExp = countPrtExp + 1 |
91 |
CALL ATM_EXPORT_FLD( atmSaltFxName, |
CALL ATM_EXPORT_FLD( atmSaltFxName, |
92 |
U iceSaltFlx, saltFxTime, myThid ) |
U iceSaltFlx, saltFxTime, myThid ) |
93 |
C- export Sea-Ice Mass: |
C- export Sea-Ice Mass: |
94 |
CALL ATM_EXPORT_FLD( atmSeaIceName, |
CALL ATM_EXPORT_FLD( atmSIceMassName, |
95 |
U seaIceMass, seaIceTime, myThid ) |
U seaIceMass, seaIceTime, myThid ) |
96 |
|
|
97 |
IF ( atmCpl_exchange_DIC ) THEN |
IF ( atm_cplExch_DIC ) THEN |
98 |
C- export atmospheric CO2: |
C- export atmospheric CO2: |
99 |
CALL ATM_EXPORT_FLD( atmAirCO2Name, |
CALL ATM_EXPORT_FLD( atmAirCO2Name, |
100 |
U airCO2, airCO2Time, myThid ) |
U airCO2, airCO2Time, myThid ) |
101 |
|
|
102 |
C- export surface wind speed: |
C- export surface wind speed: |
103 |
CALL ATM_EXPORT_FLD( atmWSpdName, |
CALL ATM_EXPORT_FLD( atmWindSpdName, |
104 |
U sWSpeed, sWSpeedTime, myThid ) |
U sWSpeed, sWSpeedTime, myThid ) |
105 |
|
|
106 |
C- export seaice fraction: |
C- export seaice fraction: |
107 |
CALL ATM_EXPORT_FLD( atmFIceName, |
CALL ATM_EXPORT_FLD( atmSIceFracName, |
108 |
U fracIce, fracIceTime, myThid ) |
U fracIce, fracIceTime, myThid ) |
109 |
ENDIF |
ENDIF |
110 |
|
|
111 |
ENDIF |
ENDIF |
112 |
|
|
113 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
114 |
C Fetch data from coupling layer. Note MIT Coupler checkpoint1 |
C Fetch data from coupling layer. |
|
C does not allow asynchronous extraction of data, so ordering |
|
|
C has to be consistent with ordering coupling layer. |
|
115 |
|
|
116 |
IF ( MOD(myIter,cplSendFrq_iter).EQ.0 ) THEN |
IF ( MOD(myIter,cplSendFrq_iter).EQ.0 ) THEN |
117 |
_BEGIN_MASTER( myThid ) |
_BEGIN_MASTER( myThid ) |
118 |
IF ( debugMode .OR. countPrtImp.LT.maxNumberPrint ) THEN |
IF ( debugMode .OR. countPrtImp.LT.maxNumberPrint ) THEN |
|
c WRITE(0,'(A,I5,A,I10)') ' Importing (pid=', myProcId, |
|
|
c & ' ) oceanic fields at iteration', myIter |
|
119 |
WRITE(msgBuf,'(A,I10)') |
WRITE(msgBuf,'(A,I10)') |
120 |
& ' Importing oceanic fields at iteration', myIter |
& ' Importing oceanic surface fields at iter=', myIter |
121 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
122 |
& SQUEEZE_RIGHT, myThid ) |
& SQUEEZE_RIGHT, myThid ) |
123 |
countPrtImp = countPrtImp + 1 |
countPrtImp = countPrtImp + 1 |