Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:38:03 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
53b68b7823 Dimi*0001 #include "BBL_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: BBL_INIT_VARIA
                0005 
                0006 C     !INTERFACE:
                0007       SUBROUTINE BBL_INIT_VARIA( myThid )
                0008 
                0009 C     !DESCRIPTION:
                0010 C     Initialize BBL variables
                0011 
                0012 C     !USES:
                0013       IMPLICIT NONE
                0014 #include "SIZE.h"
                0015 #include "EEPARAMS.h"
                0016 #include "PARAMS.h"
                0017 #include "GRID.h"
                0018 #include "DYNVARS.h"
                0019 #include "BBL.h"
                0020 
                0021 C     !INPUT/OUTPUT PARAMETERS:
                0022 C     myThid      :: my Thread Id number
                0023       INTEGER myThid
                0024 CEOP
                0025 
                0026 #ifdef ALLOW_BBL
                0027 
                0028 C     !LOCAL VARIABLES:
008064ac29 Jean*0029 C     i,j,bi,bj :: loop indices
53b68b7823 Dimi*0030 C     kBot      :: k index of bottommost wet grid
008064ac29 Jean*0031       INTEGER i,j,bi,bj,kBot
53b68b7823 Dimi*0032 
                0033 C     Initialize arrays in common blocks.
                0034       DO bj = myByLo(myThid), myByHi(myThid)
                0035        DO bi = myBxLo(myThid), myBxHi(myThid)
008064ac29 Jean*0036         DO j=1-OLy,sNy+OLy
                0037          DO i=1-OLx,sNx+OLx
53b68b7823 Dimi*0038           kBot = max(1,kLowC(i,j,bi,bj))
                0039           bbl_theta(i,j,bi,bj)     = theta(i,j,kBot,bi,bj)
                0040           bbl_salt (i,j,bi,bj)     = salt (i,j,kBot,bi,bj)
5f5cc705f4 Dimi*0041           bbl_eta(i,j,bi,bj)       = 0. _d 0
53b68b7823 Dimi*0042           bbl_TendTheta(i,j,bi,bj) = 0. _d 0
                0043           bbl_TendSalt (i,j,bi,bj) = 0. _d 0
                0044          ENDDO
                0045         ENDDO
                0046        ENDDO
                0047       ENDDO
                0048 
                0049       IF ( startTime.EQ.baseTime .AND. nIter0.EQ.0
                0050      &                           .AND. pickupSuff.EQ.' ' ) THEN
                0051 
                0052 C     Read initialization files, if available.
                0053        IF ( bbl_thetaFile .NE. ' ' ) THEN
                0054          CALL READ_FLD_XY_RL( bbl_thetaFile, ' ',
                0055      &                        bbl_theta, 0, myThid )
                0056          CALL EXCH_XY_RL( bbl_theta, myThid )
                0057        ENDIF
                0058        IF ( bbl_saltFile .NE. ' ' ) THEN
                0059          CALL READ_FLD_XY_RL( bbl_saltFile, ' ',
                0060      &                        bbl_salt, 0, myThid )
                0061          CALL EXCH_XY_RL( bbl_salt, myThid )
                0062        ENDIF
                0063        IF ( bbl_etaFile .NE. ' ' ) THEN
                0064          CALL READ_FLD_XY_RL( bbl_etaFile, ' ',
                0065      &                        bbl_eta, 0, myThid )
                0066          CALL EXCH_XY_RL( bbl_eta, myThid )
                0067        ENDIF
                0068 
                0069       ELSE
                0070 
                0071 C     Restart from a pickup.
                0072          CALL BBL_READ_PICKUP( nIter0, myThid )
                0073 
                0074 C     End start-from-iter-zero if/else block.
                0075       ENDIF
                0076 
                0077 #endif /* ALLOW_BBL */
                0078 
                0079       RETURN
                0080       END