C $Header: /u/gcmpack/MITgcm/pkg/layers/layers_init_varia.F,v 1.10 2015/06/15 21:40:49 jmc Exp $ C $Name: $ #include "LAYERS_OPTIONS.h" C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| SUBROUTINE LAYERS_INIT_VARIA( myThid ) C =================================================================== C Initialize LAYERS variables. C =================================================================== IMPLICIT NONE #include "EEPARAMS.h" #include "SIZE.h" #include "PARAMS.h" #include "LAYERS_SIZE.h" #include "LAYERS.h" C INPUT/OUTPUT PARAMETERS: C myThid :: my Thread Id number INTEGER myThid #ifdef ALLOW_LAYERS C === Local variables === INTEGER bi, bj #ifdef LAYERS_THERMODYNAMICS INTEGER i,j,kg INTEGER iTracer #endif DO bj = myByLo(myThid), myByHi(myThid) DO bi = myBxLo(myThid), myBxHi(myThid) C Loop through 3D layers variables: #ifdef LAYERS_THERMODYNAMICS DO kg=1,Nlayers DO j=1-OLy,sNy+OLy DO i=1-OLx,sNx+OLx layers_Hc (i,j,kg,bi,bj) = 0. _d 0 layers_PIc(i,j,kg,bi,bj) = 0. _d 0 ENDDO ENDDO ENDDO DO kg=1,Nlayers-1 DO j=1-OLy,sNy+OLy DO i=1-OLx,sNx+OLx layers_Hc (i,j,kg,bi,bj) = 0. _d 0 layers_TtendSurf (i,j,kg,bi,bj) = 0. _d 0 layers_TtendDiffh(i,j,kg,bi,bj) = 0. _d 0 layers_TtendDiffr(i,j,kg,bi,bj) = 0. _d 0 layers_TtendAdvh (i,j,kg,bi,bj) = 0. _d 0 layers_TtendAdvr (i,j,kg,bi,bj) = 0. _d 0 layers_StendSurf (i,j,kg,bi,bj) = 0. _d 0 layers_StendDiffh(i,j,kg,bi,bj) = 0. _d 0 layers_StendDiffr(i,j,kg,bi,bj) = 0. _d 0 layers_StendAdvh(i,j,kg,bi,bj) = 0. _d 0 layers_StendAdvr(i,j,kg,bi,bj) = 0. _d 0 ENDDO ENDDO ENDDO #ifdef LAYERS_PRHO_REF DO kg=1,Nr DO j=1-OLy,sNy+OLy DO i=1-OLx,sNx+OLx layers_alpha(i,j,kg,bi,bj) = 0. _d 0 layers_beta(i,j,kg,bi,bj) = 0. _d 0 ENDDO ENDDO ENDDO #endif /* LAYERS_PRHO_REF */ DO iTracer = 1,2 DO j=1-OLy,sNy+OLy DO i=1-OLx,sNx+OLx layers_surfflux(i,j,1,iTracer,bi,bj) = 0. _d 0 ENDDO ENDDO DO kg=1,Nr DO j=1-OLy,sNy+OLy DO i=1-OLx,sNx+OLx layers_tottend (i,j,kg,iTracer,bi,bj) = 0. _d 0 layers_dfx (i,j,kg,iTracer,bi,bj) = 0. _d 0 layers_dfy (i,j,kg,iTracer,bi,bj) = 0. _d 0 layers_dfr (i,j,kg,iTracer,bi,bj) = 0. _d 0 layers_afx (i,j,kg,iTracer,bi,bj) = 0. _d 0 layers_afy (i,j,kg,iTracer,bi,bj) = 0. _d 0 layers_afr (i,j,kg,iTracer,bi,bj) = 0. _d 0 #ifdef SHORTWAVE_HEATING layers_sw (i,j,kg,1 ,bi,bj) = 0. _d 0 #endif /* SHORTWAVE_HEATING */ ENDDO ENDDO ENDDO ENDDO #endif /* LAYERS_THERMODYNAMICS */ C- end bi,bj loops ENDDO ENDDO #endif /* ALLOW_LAYERS */ RETURN END