#include "ctrparam.h" #include "ATM2D_OPTIONS.h" C !INTERFACE: SUBROUTINE ATM2OCN_MAIN( iloop, aloop, inMonth, & myIter, myThid ) C *==========================================================* C | Main call after atmos call, calculate ocean/seaice | c | fluxes | C *==========================================================* IMPLICIT NONE C === Global Atmos/Ocean/Seaice Interface Variables === #include "ATMSIZE.h" #include "SIZE.h" #include "EEPARAMS.h" #include "ATM2D_VARS.h" C !INPUT/OUTPUT PARAMETERS: C === Routine arguments === C inMonth - current month C myThid - Thread no. that called this routine. INTEGER iloop INTEGER aloop INTEGER inMonth INTEGER myIter INTEGER myThid C LOCAL VARIABLES: _RL wght0,wght1 INTEGER intime0,intime1 LOGICAL iftime _RL curTime ! current time (s) of simulation starting from 0.0 curTime = float(iloop-1)*dtcouplo + (float(aloop)-0.5)*dtatmo PRINT *,'Executing atm2ocn main',curTime CALL CALC_FILELOAD( curTime, iloop, aloop, wght0, wght1, & intime0, intime1, ifTime, myThid) CALL READ_ATMOS(inMonth,myThid) IF ( (atmosTauuFile.NE.' ').OR. & (atmosTauvFile.NE.' ').OR.(atmosWindFile.NE.' ')) THEN CALL SUBTRACT_MEANS( wght0, wght1, & intime0, intime1, myThid) ENDIF CALL CALC_1DTO2D(inMonth,myThid) CALL FIXED_FLUX_ADD(wght0,wght1, & intime0,intime1,ifTime,myIter,myThid) CALL RELAX_ADD(wght0,wght1, & intime0,intime1,ifTime,myIter,myThid) RETURN END