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

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

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


Revision 1.28 - (show 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 C $Header: /u/gcmpack/MITgcm/model/src/ini_dynvars.F,v 1.27 2015/01/20 20:46:55 jmc Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: INI_DYNVARS
8 C !INTERFACE:
9 SUBROUTINE INI_DYNVARS( myThid )
10 C !DESCRIPTION: \bv
11 C *==========================================================*
12 C | SUBROUTINE INI_DYNVARS
13 C | o Initialise to zero all DYNVARS.h arrays
14 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 IMPLICIT NONE
23 C === Global variables ===
24 #include "SIZE.h"
25 #include "EEPARAMS.h"
26 #include "PARAMS.h"
27 #include "DYNVARS.h"
28 #ifdef ALLOW_SOLVE4_PS_AND_DRAG
29 #include "GRID.h"
30 #endif /* ALLOW_SOLVE4_PS_AND_DRAG */
31
32 C !INPUT/OUTPUT PARAMETERS:
33 C == Routine arguments ==
34 C myThid :: my Thread Id. number
35 INTEGER myThid
36
37 C !LOCAL VARIABLES:
38 C == Local variables ==
39 C bi,bj :: tile indices
40 C i,j,k :: loop index
41 INTEGER bi, bj
42 INTEGER i, j, k
43 CEOP
44
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 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 #ifdef USE_OLD_EXTERNAL_FORCING
63 gT(i,j,k,bi,bj) = 0. _d 0
64 gS(i,j,k,bi,bj) = 0. _d 0
65 #endif
66 #ifdef ALLOW_ADAMSBASHFORTH_3
67 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 #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
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
89 ENDDO
90 ENDDO
91
92 C- 2D arrays
93 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 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
113 ENDDO
114 #endif /* ALLOW_SOLVE4_PS_AND_DRAG */
115
116 ENDDO
117 ENDDO
118
119 RETURN
120 END

  ViewVC Help
Powered by ViewVC 1.1.22