C $Header: /u/gcmpack/MITgcm/model/src/calc_ivdc.F,v 1.8 2011/12/19 11:47:04 mlosch Exp $ C $Name: $ #include "CPP_OPTIONS.h" CBOP C !ROUTINE: CALC_IVDC C !INTERFACE: SUBROUTINE CALC_IVDC( I bi, bj, iMin, iMax, jMin, jMax, K, I sigmaR, I myTime,myIter, myThid ) C !DESCRIPTION: \bv C *==========================================================* C | SUBROUTINE CALC_IVDC C | o Calculates Implicit Vertical Diffusivity for Convection C \==========================================================* C \ev C !USES: IMPLICIT NONE C == Global data == #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "DYNVARS.h" #include "GRID.h" C !INPUT/OUTPUT PARAMETERS: C == Routine arguments == C bi,bj,iMin,iMax,jMin,jMax,K :: Loop counters C rhoKm1 :: rho in layer above C rhoKp1 :: rho in layer below C myTime :: Current time in simulation C myIter :: Current iteration in simulation C myThid :: Thread number of this instance of S/R CALC_IVDC INTEGER bi,bj,iMin,iMax,jMin,jMax,K _RL sigmaR(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) _RL myTime INTEGER myIter INTEGER myThid C !LOCAL VARIABLES: C == Local variables == C i,j :: Loop counters INTEGER i,j CEOP C-- Where statically unstable, mix the heat and salt DO j=jMin,jmax DO i=iMin,imax IF ( -sigmaR(i,j,k)*gravitySign.GT.0. ) THEN IVDConvCount(i,j,k,bi,bj) = 1. _d 0 ELSE IVDConvCount(i,j,k,bi,bj) = 0. _d 0 ENDIF ENDDO ENDDO RETURN END