C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/ggl90/ggl90_init_varia.F,v 1.4 2009/08/25 21:33:28 jmc Exp $ C $Name: $ #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, Km1 CHARACTER*(MAX_LEN_FNAM) fn CHARACTER*(10) suff INTEGER prec 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 Km1 = MAX(K-1,1) DO J=1-Oly,sNy+Oly DO I=1-Olx,sNx+Olx 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 _BARRIER 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