C $Header: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_init_fixed.F,v 1.5 2015/10/14 20:03:59 dfer Exp $
C $Name: $
#include "GMREDI_OPTIONS.h"
CBOP
C !ROUTINE: GMREDI_INIT_FIXED
C !INTERFACE:
SUBROUTINE GMREDI_INIT_FIXED( myThid )
C !DESCRIPTION: \bv
C *==========================================================*
C | SUBROUTINE GMREDI_INIT_FIXED
C | o Routine to initialize GM/Redi variables
C | that are kept fixed during the run.
C *==========================================================*
C \ev
C !USES:
IMPLICIT NONE
C === Global variables ===
#include "EEPARAMS.h"
#include "SIZE.h"
#include "PARAMS.h"
#include "GMREDI.h"
C !INPUT/OUTPUT PARAMETERS:
C === Routine arguments ===
C myThid :: my Thread Id number
INTEGER myThid
CEOP
C !FUNCTIUONS:
INTEGER ILNBLNK
INTEGER MDS_RECLEN
EXTERNAL
EXTERNAL
C !LOCAL VARIABLES:
C === Local variables ===
INTEGER i,j,k
INTEGER bi,bj
C-- Initialize arrays in common blocks :
DO bj = myByLo(myThid), myByHi(myThid)
DO bi = myBxLo(myThid), myBxHi(myThid)
DO j=1-Oly,sNy+OLy
DO i=1-Olx,sNx+Olx
GM_isoFac2d(i,j,bi,bj) = 1. _d 0
GM_bolFac2d(i,j,bi,bj) = 1. _d 0
ENDDO
ENDDO
ENDDO
ENDDO
C-- Read horizontal 2.D scaling factors from files:
IF ( GM_iso2dFile .NE. ' ' ) THEN
CALL READ_FLD_XY_RS( GM_iso2dFile, ' ', GM_isoFac2d, 0, myThid )
CALL EXCH_XY_RS( GM_isoFac2d, myThid )
ENDIF
IF ( GM_bol2dFile .NE. ' ' ) THEN
CALL READ_FLD_XY_RS( GM_bol2dFile, ' ', GM_bolFac2d, 0, myThid )
CALL EXCH_XY_RS( GM_bolFac2d, myThid )
ENDIF
C-- Set vertical 1.D scaling factors
_BEGIN_MASTER( myThid )
DO k=1,Nr
GM_isoFac1d(k) = 1. _d 0
GM_bolFac1d(k) = 1. _d 0
ENDDO
C- Read vertical 1.D scaling factors from files:
IF ( GM_iso1dFile .NE. ' ' ) THEN
CALL READ_GLVEC_RS( GM_iso1dFile, ' ',
& GM_isoFac1d, Nr, 1, myThid )
ENDIF
IF ( GM_bol1dFile .NE. ' ' ) THEN
CALL READ_GLVEC_RS( GM_bol1dFile, ' ',
& GM_bolFac1d, Nr, 1, myThid )
ENDIF
_END_MASTER( myThid )
C- Everyone else must wait for arrays to be loaded
_BARRIER
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
#ifdef ALLOW_MNC
IF (useMNC) THEN
CALL GMREDI_MNC_INIT( myThid )
ENDIF
#endif /* ALLOW_MNC */
#ifdef ALLOW_DIAGNOSTICS
IF ( useDiagnostics ) THEN
CALL GMREDI_DIAGNOSTICS_INIT( myThid )
ENDIF
#endif
RETURN
END