/[MITgcm]/MITgcm/model/src/ini_dynvars.F
ViewVC logotype

Diff of /MITgcm/model/src/ini_dynvars.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.3 by heimbach, Fri Jul 13 14:26:57 2001 UTC revision 1.28 by jmc, Mon Nov 28 23:05:05 2016 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6    CBOP
7    C     !ROUTINE: INI_DYNVARS
8    C     !INTERFACE:
9        SUBROUTINE INI_DYNVARS( myThid )        SUBROUTINE INI_DYNVARS( myThid )
10  C     /==========================================================\  C     !DESCRIPTION: \bv
11  C     | SUBROUTINE INI_DYNVARS                                   |  C     *==========================================================*
12  C     | o Initialise to zero all DYNVARS.h arrays                |  C     | SUBROUTINE INI_DYNVARS
13  C     \==========================================================/  C     | o Initialise to zero all DYNVARS.h arrays
14        IMPLICIT NONE  C     *==========================================================*
15    C     | Sets all the State variables to zero.
16  C     Sets all the State variables to zero.  C     | Sets all the Gs (arrays used for multi-level time-stepping)
17  C     Sets all the Gs (arrays used for multi-level time-stepping)  C     | to zero.
18  C     to zero.  C     *==========================================================*
19    C     \ev
20    
21    C     !USES:
22          IMPLICIT NONE
23  C     === Global variables ===  C     === Global variables ===
24  #include "SIZE.h"  #include "SIZE.h"
25  #include "EEPARAMS.h"  #include "EEPARAMS.h"
26  #include "PARAMS.h"  #include "PARAMS.h"
27  #include "DYNVARS.h"  #include "DYNVARS.h"
28  #ifdef ALLOW_NONHYDROSTATIC  #ifdef ALLOW_SOLVE4_PS_AND_DRAG
29  #include "GW.h"  #include "GRID.h"
30  #endif  #endif /* ALLOW_SOLVE4_PS_AND_DRAG */
31    
32    C     !INPUT/OUTPUT PARAMETERS:
33  C     == Routine arguments ==  C     == Routine arguments ==
34  C     myThid -  Number of this instance of INI_UVEL  C     myThid  :: my Thread Id. number
35        INTEGER myThid        INTEGER myThid
 CEndOfInterface  
36    
37    C     !LOCAL VARIABLES:
38  C     == Local variables ==  C     == Local variables ==
39  C     bi,bj  - Loop counters  C     bi,bj   :: tile indices
40  C     I,J,K  C     i,j,k   :: loop index
41        INTEGER bi, bj        INTEGER bi, bj
42        INTEGER  I,  J, K        INTEGER i, j, k
43    CEOP
44    
45  C--   Over all tiles  C--   Over all tiles
46        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
47         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
48    
49  C-      3D arrays  C-      3D arrays
50          DO K=1,Nr          DO k=1,Nr
51           DO J=1-Oly,sNy+Oly           DO j=1-OLy,sNy+OLy
52            DO I=1-Olx,sNx+Olx            DO i=1-OLx,sNx+OLx
53    
54             uVel(I,J,K,bi,bj)=0. _d 0             uVel (i,j,k,bi,bj) = 0. _d 0
55             vVel(I,J,K,bi,bj)=0. _d 0             vVel (i,j,k,bi,bj) = 0. _d 0
56             wVel(I,J,K,bi,bj)=0. _d 0             wVel (i,j,k,bi,bj) = 0. _d 0
57             theta(I,J,K,bi,bj)=0. _d 0             theta(i,j,k,bi,bj) = 0. _d 0
58             salt(I,J,K,bi,bj)=0. _d 0             salt (i,j,k,bi,bj) = 0. _d 0
59    
60             gU(I,J,K,bi,bj)=0. _d 0             gU(i,j,k,bi,bj) = 0. _d 0
61             gV(I,J,K,bi,bj)=0. _d 0             gV(i,j,k,bi,bj) = 0. _d 0
62             gT(I,J,K,bi,bj)=0. _d 0  #ifdef USE_OLD_EXTERNAL_FORCING
63             gS(I,J,K,bi,bj)=0. _d 0             gT(i,j,k,bi,bj) = 0. _d 0
64             gUnm1(I,J,K,bi,bj)=0. _d 0             gS(i,j,k,bi,bj) = 0. _d 0
            gVnm1(I,J,K,bi,bj)=0. _d 0  
            gTnm1(I,J,K,bi,bj)=0. _d 0  
            gSnm1(I,J,K,bi,bj)=0. _d 0  
   
 #ifdef INCLUDE_CD_CODE  
            guCD(I,J,K,bi,bj)=0. _d 0  
            gvCD(I,J,K,bi,bj)=0. _d 0  
            uNM1(I,J,K,bi,bj)=0. _d 0  
            vNM1(I,J,K,bi,bj)=0. _d 0  
            uVeld(I,J,K,bi,bj)=0. _d 0  
            vVeld(I,J,K,bi,bj)=0. _d 0  
65  #endif  #endif
66    #ifdef ALLOW_ADAMSBASHFORTH_3
67  #ifdef ALLOW_NONHYDROSTATIC             guNm(i,j,k,bi,bj,1) = 0. _d 0
68             gW(I,J,K,bi,bj)=0. _d 0             gvNm(i,j,k,bi,bj,1) = 0. _d 0
69             gWnm1(I,J,K,bi,bj)=0. _d 0             gtNm(i,j,k,bi,bj,1) = 0. _d 0
70               gsNm(i,j,k,bi,bj,1) = 0. _d 0
71               guNm(i,j,k,bi,bj,2) = 0. _d 0
72               gvNm(i,j,k,bi,bj,2) = 0. _d 0
73               gtNm(i,j,k,bi,bj,2) = 0. _d 0
74               gsNm(i,j,k,bi,bj,2) = 0. _d 0
75    #else
76               guNm1(i,j,k,bi,bj) = 0. _d 0
77               gvNm1(i,j,k,bi,bj) = 0. _d 0
78               gtNm1(i,j,k,bi,bj) = 0. _d 0
79               gsNm1(i,j,k,bi,bj) = 0. _d 0
80  #endif  #endif
81               totPhiHyd (i,j,k,bi,bj) = 0. _d 0
82               rhoInSitu (i,j,k,bi,bj) = 0. _d 0
83               IVDConvCount(i,j,k,bi,bj) = 0. _d 0
84    #ifdef ALLOW_SOLVE4_PS_AND_DRAG
85               dU_psFacX (i,j,k,bi,bj) = 0. _d 0
86               dV_psFacY (i,j,k,bi,bj) = 0. _d 0
87    #endif /* ALLOW_SOLVE4_PS_AND_DRAG */
88            ENDDO            ENDDO
89           ENDDO           ENDDO
90          ENDDO          ENDDO
91    
92  C-      2D arrays  C-      2D arrays
93          DO J=1-Oly,sNy+Oly          DO J=1-OLy,sNy+OLy
94           DO I=1-Olx,sNx+Olx           DO I=1-OLx,sNx+OLx
95            etaN(I,J,bi,bj)=0. _d 0            etaN(i,j,bi,bj) = 0. _d 0
96            etaNm1(I,J,bi,bj)=0. _d 0            etaH(i,j,bi,bj) = 0. _d 0
97              phiHydLow(i,j,bi,bj) = 0. _d 0
98              hMixLayer(i,j,bi,bj) = 0. _d 0
99             ENDDO
100            ENDDO
101    
102    #ifdef ALLOW_SOLVE4_PS_AND_DRAG
103    C--   Put some constant values (if not part of S/R INI_FIELDS):
104            DO k=1,Nr
105             DO j=1-OLy,sNy+OLy
106              DO i=1-OLx,sNx+OLx
107               dU_psFacX(i,j,k,bi,bj) = maskW(i,j,k,bi,bj)
108         &                             *recip_deepFacC(k)*recip_rhoFacC(k)
109               dV_psFacY(i,j,k,bi,bj) = maskS(i,j,k,bi,bj)
110         &                             *recip_deepFacC(k)*recip_rhoFacC(k)
111              ENDDO
112           ENDDO           ENDDO
113          ENDDO          ENDDO
114    #endif /* ALLOW_SOLVE4_PS_AND_DRAG */
115    
116         ENDDO         ENDDO
117        ENDDO        ENDDO

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.22