/[MITgcm]/MITgcm/pkg/gmredi/gmredi_init_varia.F
ViewVC logotype

Contents of /MITgcm/pkg/gmredi/gmredi_init_varia.F

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


Revision 1.2 - (show annotations) (download)
Tue Jan 11 00:54:45 2011 UTC (13 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64i, checkpoint64h, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint63, checkpoint62s, checkpoint62r, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x
Changes since 1.1: +18 -1 lines
allow to specify a 2-D horizontal map and a 1-D vertical profile
 as scaling factor for Isopycnal diffusivity (Redi) and GM diffusivity

1 C $Header: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_init_varia.F,v 1.1 2010/12/15 23:06:43 jmc Exp $
2 C $Name: $
3
4 #include "GMREDI_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GMREDI_INIT_VARIA
8 C !INTERFACE:
9 SUBROUTINE GMREDI_INIT_VARIA( myThid )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE GMREDI_INIT_VARIA
14 C | o Routine to initialize GM/Redi variables
15 C *==========================================================*
16 C \ev
17
18 C !USES:
19 IMPLICIT NONE
20
21 C === Global variables ===
22 #include "SIZE.h"
23 #include "EEPARAMS.h"
24 #include "PARAMS.h"
25 #include "GRID.h"
26 #include "GMREDI.h"
27 #include "GMREDI_TAVE.h"
28
29 C !INPUT/OUTPUT PARAMETERS:
30 C === Routine arguments ===
31 C myThid :: my Thread Id number
32 INTEGER myThid
33 CEOP
34
35 #ifdef ALLOW_GMREDI
36
37 C !LOCAL VARIABLES:
38 C === Local variables ===
39 INTEGER i,j,k,bi,bj
40
41 DO bj = myByLo(myThid), myByHi(myThid)
42 DO bi = myBxLo(myThid), myBxHi(myThid)
43
44 C Initialize arrays in common blocks :
45 DO k=1,Nr
46 DO j=1-Oly,sNy+OLy
47 DO i=1-Olx,sNx+Olx
48 Kwx(i,j,k,bi,bj) = 0. _d 0
49 Kwy(i,j,k,bi,bj) = 0. _d 0
50 Kwz(i,j,k,bi,bj) = 0. _d 0
51 #ifdef GM_EXTRA_DIAGONAL
52 Kuz(i,j,k,bi,bj) = 0. _d 0
53 Kvz(i,j,k,bi,bj) = 0. _d 0
54 #endif
55 #ifdef GM_NON_UNITY_DIAGONAL
56 Kux(i,j,k,bi,bj) = 0. _d 0
57 Kvy(i,j,k,bi,bj) = 0. _d 0
58 #endif
59 #ifdef GM_BOLUS_ADVEC
60 GM_PsiX(i,j,k,bi,bj) = 0. _d 0
61 GM_PsiY(i,j,k,bi,bj) = 0. _d 0
62 #endif
63 #ifdef GM_VISBECK_VARIABLE_K
64 VisbeckK(i,j,bi,bj) = 0. _d 0
65 #endif
66 ENDDO
67 ENDDO
68 ENDDO
69
70 #ifdef ALLOW_TIMEAVE
71 C Initialize averages to zero
72 CALL TIMEAVE_RESET(GM_Kwx_T,Nr, bi,bj,myThid)
73 CALL TIMEAVE_RESET(GM_Kwy_T,Nr, bi,bj,myThid)
74 CALL TIMEAVE_RESET(GM_Kwz_T,Nr, bi,bj,myThid)
75 GM_timeAve(bi,bj) = 0. _d 0
76 #ifdef GM_VISBECK_VARIABLE_K
77 CALL TIMEAVE_RESET(Visbeck_K_T, 1, bi,bj,myThid)
78 #endif
79 #ifdef GM_BOLUS_ADVEC
80 CALL TIMEAVE_RESET(GM_PsiXtave,Nr, bi,bj,myThid)
81 CALL TIMEAVE_RESET(GM_PsiYtave,Nr, bi,bj,myThid)
82 #endif
83 #endif /* ALLOW_TIMEAVE */
84
85 C- end bi,bj loops
86 ENDDO
87 ENDDO
88
89 C-- write GM scaling factors to file:
90 IF ( GM_iso1dFile .NE. ' ' ) THEN
91 CALL WRITE_GLVEC_RS( 'GM_isoFac1d', ' ', GM_isoFac1d,
92 I Nr, -1, myThid )
93 ENDIF
94 IF ( GM_bol1dFile .NE. ' ' ) THEN
95 CALL WRITE_GLVEC_RS( 'GM_bolFac1d', ' ', GM_bolFac1d,
96 I Nr, -1, myThid )
97 ENDIF
98 IF ( GM_iso2dFile .NE. ' ' ) THEN
99 CALL WRITE_FLD_XY_RS( 'GM_isoFac2d',' ',GM_isoFac2d,-1,myThid )
100 ENDIF
101 IF ( GM_bol2dFile .NE. ' ' ) THEN
102 CALL WRITE_FLD_XY_RS( 'GM_bolFac2d',' ',GM_bolFac2d,-1,myThid )
103 ENDIF
104 #endif /* ALLOW_GMREDI */
105
106 RETURN
107 END

  ViewVC Help
Powered by ViewVC 1.1.22