--- MITgcm/model/src/ini_dynvars.F 2001/05/16 21:02:51 1.1 +++ MITgcm/model/src/ini_dynvars.F 2001/05/29 14:01:37 1.2 @@ -0,0 +1,91 @@ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/ini_dynvars.F,v 1.2 2001/05/29 14:01:37 adcroft Exp $ +C $Name: $ + +#include "CPP_OPTIONS.h" + + SUBROUTINE INI_DYNVARS( myThid ) +C /==========================================================\ +C | SUBROUTINE INI_DYNVARS | +C | o Initialise to zero all DYNVARS.h arrays | +C \==========================================================/ + IMPLICIT NONE + +C Sets all the State variables to zero. +C Sets all the Gs (arrays used for multi-level time-stepping) +C to zero. + +C === Global variables === +#include "SIZE.h" +#include "EEPARAMS.h" +#include "PARAMS.h" +#include "DYNVARS.h" +#ifdef ALLOW_NONHYDROSTATIC +#include "GW.h" +#endif + +C == Routine arguments == +C myThid - Number of this instance of INI_UVEL + INTEGER myThid +CEndOfInterface + +C == Local variables == +C bi,bj - Loop counters +C I,J,K + INTEGER bi, bj + INTEGER I, J, K + +C-- Over all tiles + DO bj = myByLo(myThid), myByHi(myThid) + DO bi = myBxLo(myThid), myBxHi(myThid) + +C- 3D arrays + DO K=1,Nr + DO J=1-Oly,sNy+Oly + DO I=1-Olx,sNx+Olx + + uVel(I,J,K,bi,bj)=0. + vVel(I,J,K,bi,bj)=0. + wVel(I,J,K,bi,bj)=0. + theta(I,J,K,bi,bj)=0. + salt(I,J,K,bi,bj)=0. + + gU(I,J,K,bi,bj)=0. + gV(I,J,K,bi,bj)=0. + gT(I,J,K,bi,bj)=0. + gS(I,J,K,bi,bj)=0. + gUnm1(I,J,K,bi,bj)=0. + gVnm1(I,J,K,bi,bj)=0. + gTnm1(I,J,K,bi,bj)=0. + gSnm1(I,J,K,bi,bj)=0. + +#ifdef INCLUDE_CD_CODE + guCD(I,J,K,bi,bj)=0. + gvCD(I,J,K,bi,bj)=0. + uNM1(I,J,K,bi,bj)=0. + vNM1(I,J,K,bi,bj)=0. + uVeld(I,J,K,bi,bj)=0. + vVeld(I,J,K,bi,bj)=0. +#endif + +#ifdef ALLOW_NONHYDROSTATIC + gW(I,J,K,bi,bj)=0. + gWnm1(I,J,K,bi,bj)=0. +#endif + + ENDDO + ENDDO + ENDDO + +C- 2D arrays + DO J=1-Oly,sNy+Oly + DO I=1-Olx,sNx+Olx + etaN(I,J,bi,bj)=0. + etaNm1(I,J,bi,bj)=0. + ENDDO + ENDDO + + ENDDO + ENDDO + + RETURN + END