C $Header: /u/gcmpack/MITgcm/pkg/aim/aim_calc_diags.F,v 1.8 2005/04/06 18:34:59 jmc Exp $ C $Name: $ #include "AIM_OPTIONS.h" CStartOfInterFace SUBROUTINE AIM_CALC_DIAGS( bi, bj, myTime, myThid ) C /==========================================================\ C | SUBROUTINE AIM_CALC_DIAGS | C | o Calculate AIM diagnostics | C \==========================================================/ IMPLICIT NONE C === Global variables === C-- size for MITgcm & Physics package : #include "AIM_SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "AIM_DIAGS.h" #include "com_physvar.h" C == Routine arguments == C myTime - Current time of simulation ( s ) C myThid - Number of this instance of the routine C bi,bj - Tile index _RL myTime INTEGER myThid INTEGER bi, bj CEndOfInterface #ifdef ALLOW_AIM C == Local variables == INTEGER I,J,I2,K _RL DDTT #ifdef ALLOW_TIMEAVE DDTT = deltaTclock DO J=1,sNy DO I=1,sNx I2 = sNx*(J-1)+I c USTRtave(i,j,bi,bj) = USTRtave(i,j,bi,bj) c & + USTR(I2,3,myThid)*DDTT c VSTRtave(i,j,bi,bj) = VSTRtave(i,j,bi,bj) c & + VSTR(I2,3,myThid)*DDTT TSRtave(i,j,bi,bj) = TSRtave(i,j,bi,bj) & + TSR(I2,myThid)*DDTT OLRtave(i,j,bi,bj) = OLRtave(i,j,bi,bj) & + OLR(I2,myThid)*DDTT SSRtave(i,j,bi,bj) = SSRtave(i,j,bi,bj) & + SSR(I2,myThid)*DDTT SLRtave(i,j,bi,bj) = SLRtave(i,j,bi,bj) & + SLR(I2,myThid)*DDTT SHFtave(i,j,bi,bj) = SHFtave(i,j,bi,bj) & + SHF(I2,3,myThid)*DDTT EVAPtave(i,j,bi,bj) = EVAPtave(i,j,bi,bj) & + EVAP(I2,3,myThid)*DDTT PRECNVtave(i,j,bi,bj) = PRECNVtave(i,j,bi,bj) & + PRECNV(I2,myThid)*DDTT PRECLStave(i,j,bi,bj) = PRECLStave(i,j,bi,bj) & + PRECLS(I2,myThid)*DDTT CLOUDCtave(i,j,bi,bj) = CLOUDCtave(i,j,bi,bj) & + CLOUDC(I2,myThid)*DDTT ENDDO ENDDO C- Keep record of how much time has been integrated over DO K=1,Nr AIM_TimeAve(k,bi,bj)=AIM_TimeAve(k,bi,bj)+DDTT ENDDO #endif /* ALLOW_TIMEAVE */ #endif /* ALLOW_AIM */ RETURN END