33 |
C-- GGL90 vertical mixing parameters |
C-- GGL90 vertical mixing parameters |
34 |
NAMELIST /GGL90_PARM01/ |
NAMELIST /GGL90_PARM01/ |
35 |
& GGL90dumpFreq, GGL90taveFreq, |
& GGL90dumpFreq, GGL90taveFreq, |
36 |
|
& GGL90diffTKEh, |
37 |
& GGL90mixingMaps, GGL90writeState, |
& GGL90mixingMaps, GGL90writeState, |
38 |
& GGL90ck, GGL90ceps, GGL90alpha, GGL90m2, |
& GGL90ck, GGL90ceps, GGL90alpha, GGL90m2, |
39 |
& GGL90TKEmin, GGL90TKEbottom, |
& GGL90TKEmin, GGL90TKEsurfMin, GGL90TKEbottom, |
40 |
& GGL90mixingLengthMin, GGL90viscMax, GGL90diffMax, |
& GGL90mixingLengthMin, GGL90viscMax, GGL90diffMax, |
41 |
& GGL90TKEFile |
& GGL90TKEFile |
42 |
_BEGIN_MASTER(myThid) |
_BEGIN_MASTER(myThid) |
59 |
GGL90ck = 0.1 _d 0 |
GGL90ck = 0.1 _d 0 |
60 |
GGL90ceps = 0.7 _d 0 |
GGL90ceps = 0.7 _d 0 |
61 |
GGL90alpha = 1.0 _d 0 |
GGL90alpha = 1.0 _d 0 |
62 |
GGL90m2 = 3.0 _d 0 |
C Blanke and Delecluse (1993, JPO) use |
63 |
|
GGL90m2 = 3.75 _d 0 |
64 |
GGL90TKEmin = 1.0 _d -11 |
GGL90TKEmin = 1.0 _d -11 |
65 |
|
C Blanke and Delecluse (1993, JPO) use |
66 |
|
GGL90TKEsurfMin = 1.0 _d -04 |
67 |
GGL90TKEbottom = UNSET_RL |
GGL90TKEbottom = UNSET_RL |
68 |
GGL90viscMax = 1.0 _d 0 |
GGL90viscMax = 1.0 _d 0 |
69 |
GGL90diffMax = 1.0 _d 1 |
GGL90diffMax = 1.0 _d 1 |
70 |
|
GGL90diffTKEh = 0.0 _d 0 |
71 |
GGL90mixingLengthMin = 1.0 _d -08 |
GGL90mixingLengthMin = 1.0 _d -08 |
72 |
GGL90TKEFile = ' ' |
GGL90TKEFile = ' ' |
73 |
|
|
102 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
103 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , 1) |
104 |
|
|
|
_END_MASTER(myThid) |
|
|
|
|
|
C-- Everyone else must wait for the parameters to be loaded |
|
|
_BARRIER |
|
|
|
|
105 |
C Now set-up any remaining parameters that result from the input parameters |
C Now set-up any remaining parameters that result from the input parameters |
106 |
IF ( GGL90TKEbottom .EQ. UNSET_RL ) THEN |
IF ( GGL90TKEbottom .EQ. UNSET_RL ) THEN |
107 |
GGL90TKEbottom = GGL90TKEmin |
GGL90TKEbottom = GGL90TKEmin |
135 |
STOP 'ABNORMAL END: S/R GGL90_READPARMS' |
STOP 'ABNORMAL END: S/R GGL90_READPARMS' |
136 |
ENDIF |
ENDIF |
137 |
|
|
138 |
|
C-- print TKE vertical mixing parameters to stdout for better debugging |
139 |
|
WRITE(msgBuf,*) 'GGL90: GGL90dumpFreq = ', GGL90dumpFreq |
140 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
141 |
|
& SQUEEZE_RIGHT , 1) |
142 |
|
WRITE(msgBuf,*) 'GGL90: GGL90taveFreq = ', GGL90taveFreq |
143 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
144 |
|
& SQUEEZE_RIGHT , 1) |
145 |
|
WRITE(msgBuf,*) 'GGL90: GGL90mixingMaps = ', GGL90mixingMaps |
146 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
147 |
|
& SQUEEZE_RIGHT , 1) |
148 |
|
WRITE(msgBuf,*) 'GGL90: GGL90writeState = ', GGL90writeState |
149 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
150 |
|
& SQUEEZE_RIGHT , 1) |
151 |
|
WRITE(msgBuf,*) 'GGL90: GGL90ck = ', GGL90ck |
152 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
153 |
|
& SQUEEZE_RIGHT , 1) |
154 |
|
WRITE(msgBuf,*) 'GGL90: GGL90ceps = ', GGL90ceps |
155 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
156 |
|
& SQUEEZE_RIGHT , 1) |
157 |
|
WRITE(msgBuf,*) 'GGL90: GGL90alpha = ', GGL90alpha |
158 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
159 |
|
& SQUEEZE_RIGHT , 1) |
160 |
|
WRITE(msgBuf,*) 'GGL90: GGL90m2 = ', GGL90m2 |
161 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
162 |
|
& SQUEEZE_RIGHT , 1) |
163 |
|
WRITE(msgBuf,*) 'GGL90: GGL90TKEmin = ', GGL90TKEmin |
164 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
165 |
|
& SQUEEZE_RIGHT , 1) |
166 |
|
WRITE(msgBuf,*) 'GGL90: GGL90TKEsurfMin = ', GGL90TKEsurfMin |
167 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
168 |
|
& SQUEEZE_RIGHT , 1) |
169 |
|
WRITE(msgBuf,*) 'GGL90: GGL90TKEbottom = ', GGL90TKEbottom |
170 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
171 |
|
& SQUEEZE_RIGHT , 1) |
172 |
|
WRITE(msgBuf,*) 'GGL90: GGL90viscMax = ', GGL90viscMax |
173 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
174 |
|
& SQUEEZE_RIGHT , 1) |
175 |
|
WRITE(msgBuf,*) 'GGL90: GGL90diffMax = ', GGL90diffMax |
176 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
177 |
|
& SQUEEZE_RIGHT , 1) |
178 |
|
WRITE(msgBuf,*) 'GGL90: GGL90diffTKEh = ', GGL90diffTKEh |
179 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
180 |
|
& SQUEEZE_RIGHT , 1) |
181 |
|
WRITE(msgBuf,*) 'GGL90: GGL90mixingLengthMin = ', |
182 |
|
& GGL90mixingLengthMin |
183 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
184 |
|
& SQUEEZE_RIGHT , 1) |
185 |
|
WRITE(msgBuf,*) 'GGL90: GGL90TKEFile = ', GGL90TKEFile |
186 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
187 |
|
& SQUEEZE_RIGHT , 1) |
188 |
|
|
189 |
|
_END_MASTER(myThid) |
190 |
|
|
191 |
|
C-- Everyone else must wait for the parameters to be loaded |
192 |
|
_BARRIER |
193 |
|
|
194 |
#endif /* ALLOW_GGL90 */ |
#endif /* ALLOW_GGL90 */ |
195 |
|
|
196 |
return |
return |