C $Header: /u/gcmpack/MITgcm/pkg/generic_advdiff/gad_init_varia.F,v 1.3 2009/08/25 21:33:28 jmc Exp $
C $Name: $
#include "GAD_OPTIONS.h"
CBOP
C !ROUTINE: GAD_INIT_VARIA
C !INTERFACE:
SUBROUTINE GAD_INIT_VARIA( myThid )
C !DESCRIPTION: \bv
C *==========================================================*
C | SUBROUTINE GAD_INIT_VARIA
C | o Routine to initialize GAD variables
C *==========================================================*
C \ev
C !USES:
IMPLICIT NONE
C === Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
c #include "GRID.h"
#include "GAD.h"
#include "GAD_SOM_VARS.h"
C !INPUT/OUTPUT PARAMETERS:
C === Routine arguments ===
C myThid :: my Thread Id number
INTEGER myThid
CEOP
#ifdef GAD_ALLOW_TS_SOM_ADV
C !LOCAL VARIABLES:
C === Local variables ===
INTEGER i,j,k,bi,bj
INTEGER n
DO bj = myByLo(myThid), myByHi(myThid)
DO bi = myBxLo(myThid), myBxHi(myThid)
C-- Initialize 1rst Order (3:x,y,z) and 2nd Order (6:xx,yy,zz,xy,xz,yz) moments
DO n=1,nSOM
DO k=1,Nr
DO j=1-Oly,sNy+OLy
DO i=1-Olx,sNx+Olx
C pot.temp field:
som_T(i,j,k,bi,bj,n) = 0. _d 0
C salinity field:
som_S(i,j,k,bi,bj,n) = 0. _d 0
ENDDO
ENDDO
ENDDO
ENDDO
C- end bi,bj loops
ENDDO
ENDDO
IF ( tempSOM_Advection .OR. saltSOM_Advection ) THEN
IF ( startTime.EQ.baseTime .AND. nIter0.EQ.0
& .AND. pickupSuff.EQ.' ' ) THEN
C- Need to synchronize here before doing master-thread IO
c _BARRIER
C- Read-in initial conditions:
C --- not yet coded ---
c CALL GAD_SOM_EXCHANGES( myThid )
ELSE
C- Read 2nd-O moments state from pickup files
CALL GAD_READ_PICKUP( nIter0, myThid )
CALL GAD_SOM_EXCHANGES( myThid )
ENDIF
ENDIF
#endif /* GAD_ALLOW_TS_SOM_ADV */
RETURN
END