Back to home page

MITgcm

 
 

    


File indexing completed on 2021-03-12 06:11:03 UTC

view on githubraw file Latest commit fdf5fb6a on 2021-02-21 02:42:37 UTC
fa00cf7ea4 Jean*0001 #include "CPP_OPTIONS.h"
                0002 
                0003 CBOP
                0004 C     !ROUTINE: INI_NH_VARS
                0005 C     !INTERFACE:
                0006       SUBROUTINE INI_NH_VARS ( myThid )
                0007 C     !DESCRIPTION: \bv
                0008 C     *==========================================================*
                0009 C     | SUBROUTINE INI_NH_VARS
                0010 C     | o Initialise to zero all NH_VARS.h arrays
                0011 C     *==========================================================*
                0012 C     | Sets all the NH State variables & tendencies to zero.
                0013 C     *==========================================================*
                0014 C     \ev
                0015 
                0016 C     !USES:
                0017       IMPLICIT NONE
                0018 C     === Global variables ===
                0019 #include "SIZE.h"
                0020 #include "EEPARAMS.h"
                0021 #include "PARAMS.h"
                0022 #include "NH_VARS.h"
                0023 
                0024 C     !INPUT/OUTPUT PARAMETERS:
                0025 C     == Routine arguments ==
                0026 C     myThid  ::  My Thread Id number
                0027       INTEGER myThid
                0028 CEOP
                0029 
fdf5fb6af0 Jean*0030 #if (defined ALLOW_NONHYDROSTATIC || defined ALLOW_QHYD_STAGGER_TS )
fa00cf7ea4 Jean*0031 C     !LOCAL VARIABLES:
                0032 C     == Local variables ==
                0033 C     bi,bj   :: tile indices
                0034 C     i,j,k   :: loop counters
                0035       INTEGER bi, bj
                0036       INTEGER i, j, k
fdf5fb6af0 Jean*0037 #endif /* ALLOW_NONHYDROSTATIC or ALLOW_QHYD_STAGGER_TS */
fa00cf7ea4 Jean*0038 
fdf5fb6af0 Jean*0039 #ifdef ALLOW_NONHYDROSTATIC
fa00cf7ea4 Jean*0040 c     IF ( nonHydrostatic ) THEN
                0041 C- Note: comment out this IF so that we are sure that all variables in
                0042 C        common blocs (even if never used later) are always initialised
                0043         DO bj = myByLo(myThid), myByHi(myThid)
                0044          DO bi = myBxLo(myThid), myBxHi(myThid)
6f0f9ff290 Jean*0045           DO j=1-OLy,sNy+OLy
                0046             DO i=1-OLx,sNx+OLx
cba4501825 Jean*0047               dPhiNH(i,j,bi,bj)    = 0. _d 0
                0048             ENDDO
                0049           ENDDO
fa00cf7ea4 Jean*0050           DO k=1,Nr
6f0f9ff290 Jean*0051            DO j=1-OLy,sNy+OLy
                0052             DO i=1-OLx,sNx+OLx
cba4501825 Jean*0053               phi_nh(i,j,k,bi,bj)  = 0. _d 0
                0054               gW   (i,j,k,bi,bj)   = 0. _d 0
                0055 #ifdef ALLOW_ADAMSBASHFORTH_3
                0056               gWnm (i,j,k,bi,bj,1) = 0. _d 0
                0057               gWnm (i,j,k,bi,bj,2) = 0. _d 0
                0058 #else /* ALLOW_ADAMSBASHFORTH_3 */
                0059               gWnm1(i,j,k,bi,bj)   = 0. _d 0
                0060 #endif /* ALLOW_ADAMSBASHFORTH_3 */
fa00cf7ea4 Jean*0061             ENDDO
                0062            ENDDO
                0063           ENDDO
                0064          ENDDO
                0065         ENDDO
                0066 c     ENDIF
                0067 #endif /* ALLOW_NONHYDROSTATIC */
                0068 
fdf5fb6af0 Jean*0069 #ifdef ALLOW_QHYD_STAGGER_TS
                0070 c     IF ( staggerTimeStep ) THEN
                0071         DO bj = myByLo(myThid), myByHi(myThid)
                0072          DO bi = myBxLo(myThid), myBxHi(myThid)
                0073           DO k=1,Nr
                0074            DO j=1-OLy,sNy+OLy
                0075             DO i=1-OLx,sNx+OLx
                0076 #ifdef ALLOW_ADAMSBASHFORTH_3
                0077               QHydGwNm(i,j,k,bi,bj,1) = 0. _d 0
                0078               QHydGwNm(i,j,k,bi,bj,2) = 0. _d 0
                0079 #else /* ALLOW_ADAMSBASHFORTH_3 */
                0080               QHydGwNm(i,j,k,bi,bj)   = 0. _d 0
                0081 #endif /* ALLOW_ADAMSBASHFORTH_3 */
                0082             ENDDO
                0083            ENDDO
                0084           ENDDO
                0085          ENDDO
                0086         ENDDO
                0087 c     ENDIF
                0088 #endif /* ALLOW_QHYD_STAGGER_TS */
                0089 
fa00cf7ea4 Jean*0090       RETURN
                0091       END