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

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

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


Revision 1.28 - (hide annotations) (download)
Mon Nov 28 23:05:05 2016 UTC (7 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, HEAD
Changes since 1.27: +22 -1 lines
implement fully implicit bottom friction coupled with implicit surface
  pressure (hydrostatic only)

1 jmc 1.28 C $Header: /u/gcmpack/MITgcm/model/src/ini_dynvars.F,v 1.27 2015/01/20 20:46:55 jmc Exp $
2 mlosch 1.7 C $Name: $
3 adcroft 1.2
4     #include "CPP_OPTIONS.h"
5    
6 cnh 1.5 CBOP
7     C !ROUTINE: INI_DYNVARS
8     C !INTERFACE:
9 adcroft 1.2 SUBROUTINE INI_DYNVARS( myThid )
10 cnh 1.5 C !DESCRIPTION: \bv
11     C *==========================================================*
12 jmc 1.20 C | SUBROUTINE INI_DYNVARS
13     C | o Initialise to zero all DYNVARS.h arrays
14 cnh 1.5 C *==========================================================*
15     C | Sets all the State variables to zero.
16     C | Sets all the Gs (arrays used for multi-level time-stepping)
17     C | to zero.
18     C *==========================================================*
19     C \ev
20    
21     C !USES:
22 adcroft 1.2 IMPLICIT NONE
23     C === Global variables ===
24     #include "SIZE.h"
25     #include "EEPARAMS.h"
26     #include "PARAMS.h"
27     #include "DYNVARS.h"
28 jmc 1.28 #ifdef ALLOW_SOLVE4_PS_AND_DRAG
29     #include "GRID.h"
30     #endif /* ALLOW_SOLVE4_PS_AND_DRAG */
31 adcroft 1.2
32 cnh 1.5 C !INPUT/OUTPUT PARAMETERS:
33 adcroft 1.2 C == Routine arguments ==
34 jmc 1.20 C myThid :: my Thread Id. number
35 adcroft 1.2 INTEGER myThid
36    
37 cnh 1.5 C !LOCAL VARIABLES:
38 adcroft 1.2 C == Local variables ==
39 jmc 1.20 C bi,bj :: tile indices
40 jmc 1.24 C i,j,k :: loop index
41 adcroft 1.2 INTEGER bi, bj
42 jmc 1.24 INTEGER i, j, k
43 cnh 1.5 CEOP
44 adcroft 1.2
45     C-- Over all tiles
46     DO bj = myByLo(myThid), myByHi(myThid)
47     DO bi = myBxLo(myThid), myBxHi(myThid)
48    
49     C- 3D arrays
50 jmc 1.24 DO k=1,Nr
51     DO j=1-OLy,sNy+OLy
52     DO i=1-OLx,sNx+OLx
53    
54     uVel (i,j,k,bi,bj) = 0. _d 0
55     vVel (i,j,k,bi,bj) = 0. _d 0
56     wVel (i,j,k,bi,bj) = 0. _d 0
57     theta(i,j,k,bi,bj) = 0. _d 0
58     salt (i,j,k,bi,bj) = 0. _d 0
59    
60     gU(i,j,k,bi,bj) = 0. _d 0
61     gV(i,j,k,bi,bj) = 0. _d 0
62 jmc 1.26 #ifdef USE_OLD_EXTERNAL_FORCING
63 jmc 1.24 gT(i,j,k,bi,bj) = 0. _d 0
64     gS(i,j,k,bi,bj) = 0. _d 0
65 jmc 1.26 #endif
66 jmc 1.15 #ifdef ALLOW_ADAMSBASHFORTH_3
67 jmc 1.24 guNm(i,j,k,bi,bj,1) = 0. _d 0
68     gvNm(i,j,k,bi,bj,1) = 0. _d 0
69     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 jmc 1.15 #else
76 jmc 1.24 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 jmc 1.15 #endif
81 jmc 1.24 totPhiHyd (i,j,k,bi,bj) = 0. _d 0
82     rhoInSitu (i,j,k,bi,bj) = 0. _d 0
83 jmc 1.14 IVDConvCount(i,j,k,bi,bj) = 0. _d 0
84 jmc 1.28 #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 adcroft 1.2 ENDDO
89     ENDDO
90     ENDDO
91    
92     C- 2D arrays
93 jmc 1.24 DO J=1-OLy,sNy+OLy
94     DO I=1-OLx,sNx+OLx
95     etaN(i,j,bi,bj) = 0. _d 0
96     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 adcroft 1.2 ENDDO
100     ENDDO
101    
102 jmc 1.28 #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
113     ENDDO
114     #endif /* ALLOW_SOLVE4_PS_AND_DRAG */
115    
116 adcroft 1.2 ENDDO
117     ENDDO
118    
119     RETURN
120     END

  ViewVC Help
Powered by ViewVC 1.1.22