C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/ggl90/ggl90_init_varia.F,v 1.6 2010/08/09 20:34:03 gforget Exp $ C $Name: checkpoint64r $ #include "GGL90_OPTIONS.h" SUBROUTINE GGL90_INIT_VARIA( myThid ) IMPLICIT NONE C === Global variables === #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "GRID.h" #include "GGL90.h" C == Routine arguments == C myThid - Number of this instance of GGL90_INIT INTEGER myThid C !LOCAL VARIABLES: C == Local variables == C bi,bj - Loop counters C I,J,K INTEGER bi, bj INTEGER I, J, K c INTEGER Km1 CEOP #ifdef ALLOW_GGL90 C-- Over all tiles DO bj = myByLo(myThid), myByHi(myThid) DO bi = myBxLo(myThid), myBxHi(myThid) C- 3D arrays DO K=1,Nr c Km1 = MAX(K-1,1) DO J=1-Oly,sNy+Oly DO I=1-Olx,sNx+Olx GGL90viscArU(I,J,K,bi,bj) = 0. _d 0 GGL90viscArV(I,J,K,bi,bj) = 0. _d 0 GGL90diffKr(I,J,K,bi,bj) = 0. _d 0 CML GGL90TKE(I,J,K,bi,bj)=0. _d 0 GGL90TKE(I,J,K,bi,bj)=GGL90TKEmin*maskC(I,J,K,bi,bj) C C hfacs for w (=tke) control volume C c recip_hFacI(I,J,K,bi,bj) = .5 _d 0*hFacC(I,J,Km1,bi,bj) c & + MIN(.5 _d 0,hFacC(I,J,K,bi,bj)) c IF ( recip_hFacI(I,J,K,bi,bj) .NE. 0. _d 0 ) c & recip_hFacI(I,J,K,bi,bj)=1. _d 0/recip_hFacI(I,J,K,bi,bj) ENDDO ENDDO ENDDO C- 2D arrays ENDDO ENDDO IF ( nIter0.NE.0 .OR. pickupSuff.NE.' ' ) THEN CALL GGL90_READ_PICKUP( nIter0, myThid ) ELSE C-- Read initial turbulent kinetic energy thickness from file if available. IF ( GGL90TKEFile .NE. ' ' ) THEN CALL READ_FLD_XYZ_RL( GGL90TKEFile, ' ', GGL90TKE, 0, myThid ) _EXCH_XYZ_RL(GGL90TKE,myThid) DO bj=myByLo(myThid),myByHi(myThid) DO bi=myBxLo(myThid),myBxHi(myThid) DO K=1,Nr DO J=1-OLy,sNy+OLy DO I=1-OLx,sNx+OLx GGL90TKE(I,J,K,bi,bj) = MAX(GGL90TKE(I,J,K,bi,bj), & GGL90TKEmin)*maskC(I,J,K,bi,bj) ENDDO ENDDO ENDDO ENDDO ENDDO ENDIF ENDIF #endif /* ALLOW_GGL90 */ RETURN END