60 |
area_shelf_streamice(i,j,bi,bj) = 0. _d 0 |
area_shelf_streamice(i,j,bi,bj) = 0. _d 0 |
61 |
mass_ice_streamice(i,j,bi,bj) = 0. _d 0 |
mass_ice_streamice(i,j,bi,bj) = 0. _d 0 |
62 |
BDOT_streamice(i,j,bi,bj) = 0. _d 0 |
BDOT_streamice(i,j,bi,bj) = 0. _d 0 |
63 |
|
ADOT_streamice(i,j,bi,bj) = 0. _d 0 |
64 |
! C_basal_friction(i,j,bi,bj) = C_basal_fric_const |
! C_basal_friction(i,j,bi,bj) = C_basal_fric_const |
65 |
A_glen(i,j,bi,bj) = A_glen_isothermal |
! A_glen(i,j,bi,bj) = A_glen_isothermal |
66 |
H_streamice_prev(i,j,bi,bj) = 0. _d 0 |
H_streamice_prev(i,j,bi,bj) = 0. _d 0 |
67 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
68 |
ru_old_si(i,j,bi,bj) = 0. _d 0 |
ru_old_si(i,j,bi,bj) = 0. _d 0 |
146 |
#endif |
#endif |
147 |
|
|
148 |
! initialize thickness |
! initialize thickness |
149 |
|
|
150 |
|
#ifndef STREAMICE_GEOM_FILE_SETUP |
151 |
|
|
152 |
IF ( STREAMICEthickInit.EQ.'PARAM' ) THEN |
IF ( STREAMICEthickInit.EQ.'PARAM' ) THEN |
153 |
|
|
214 |
IF ( STREAMICEthickFile .NE. ' ' ) THEN |
IF ( STREAMICEthickFile .NE. ' ' ) THEN |
215 |
_BARRIER |
_BARRIER |
216 |
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
217 |
CALL READ_FLD_XY_RS( STREAMICEthickFile, ' ', H_streamice, |
CALL READ_FLD_XY_RL( STREAMICEthickFile, ' ', H_streamice, |
218 |
& 0, myThid ) |
& 0, myThid ) |
219 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
220 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
252 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , 1) |
253 |
ENDIF |
ENDIF |
254 |
|
|
255 |
|
#else |
256 |
|
! STREAMICE_GEOM_FILE_SETUP - init thickness and hmask MUST come from file |
257 |
|
|
258 |
|
IF ( STREAMICEthickFile .NE. ' ' ) THEN |
259 |
|
_BARRIER |
260 |
|
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
261 |
|
CALL READ_FLD_XY_RL( STREAMICEthickFile, ' ', H_streamice, |
262 |
|
& 0, myThid ) |
263 |
|
ELSE |
264 |
|
WRITE(msgBuf,'(A)') 'INIT THICKNESS - FILENAME MISSING' |
265 |
|
CALL PRINT_ERROR( msgBuf, myThid) |
266 |
|
ENDIF |
267 |
|
|
268 |
|
IF ( STREAMICEhMaskFile .NE. ' ' ) THEN |
269 |
|
_BARRIER |
270 |
|
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
271 |
|
CALL READ_FLD_XY_RS( STREAMICEhMaskFile, ' ', STREAMICE_hmask, |
272 |
|
& 0, myThid ) |
273 |
|
ELSE |
274 |
|
WRITE(msgBuf,'(A)') 'INIT HMASK - FILENAME MISSING' |
275 |
|
CALL PRINT_ERROR( msgBuf, myThid) |
276 |
|
ENDIF |
277 |
|
|
278 |
|
#endif |
279 |
|
! STREAMICE_GEOM_FILE_SETUP |
280 |
|
|
281 |
|
|
282 |
! finish initialize thickness |
! finish initialize thickness |
283 |
|
|
284 |
! initialize basal traction |
! initialize basal traction |
288 |
IF ( STREAMICEbasalTracFile .NE. ' ' ) THEN |
IF ( STREAMICEbasalTracFile .NE. ' ' ) THEN |
289 |
_BARRIER |
_BARRIER |
290 |
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
291 |
CALL READ_FLD_XY_RS( STREAMICEbasalTracFile, ' ', |
CALL READ_FLD_XY_RL( STREAMICEbasalTracFile, ' ', |
292 |
& C_basal_friction, 0, myThid ) |
& C_basal_friction, 0, myThid ) |
293 |
|
|
294 |
ELSE |
ELSE |
303 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
304 |
DO j=1,sNy |
DO j=1,sNy |
305 |
DO i=1,sNx |
DO i=1,sNx |
306 |
|
A_glen(i,j,bi,bj) = A_glen_isothermal |
307 |
|
ENDDO |
308 |
|
ENDDO |
309 |
|
ENDDO |
310 |
|
ENDDO |
311 |
|
|
312 |
|
ELSE |
313 |
|
|
314 |
|
WRITE(msgBuf,'(A)') 'INIT GLEN CONSTANT - NOT IMPLENTED' |
315 |
|
CALL PRINT_ERROR( msgBuf, myThid) |
316 |
|
STOP 'ABNORMAL END: S/R STREAMICE_INIT_VAR' |
317 |
|
ENDIF |
318 |
|
|
319 |
|
! initialize glen constant |
320 |
|
|
321 |
|
IF ( STREAMICEGlenConstConfig.EQ.'FILE' ) THEN |
322 |
|
|
323 |
|
IF ( STREAMICEGlenConstFile .NE. ' ' ) THEN |
324 |
|
_BARRIER |
325 |
|
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
326 |
|
CALL READ_FLD_XY_RL( STREAMICEGlenConstFile, ' ', |
327 |
|
& A_glen, 0, myThid ) |
328 |
|
|
329 |
|
ELSE |
330 |
|
WRITE(msgBuf,'(A)') 'INIT THICKNESS - FILENAME MISSING' |
331 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
332 |
|
& SQUEEZE_RIGHT , 1) |
333 |
|
ENDIF |
334 |
|
|
335 |
|
ELSE IF (STREAMICEbasalTracConfig.EQ.'UNIFORM' ) THEN |
336 |
|
|
337 |
|
DO bj = myByLo(myThid), myByHi(myThid) |
338 |
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
339 |
|
DO j=1,sNy |
340 |
|
DO i=1,sNx |
341 |
C_basal_friction(i,j,bi,bj) = C_basal_fric_const |
C_basal_friction(i,j,bi,bj) = C_basal_fric_const |
342 |
ENDDO |
ENDDO |
343 |
ENDDO |
ENDDO |
390 |
STOP 'ABNORMAL END: S/R STREAMICE_INIT_VAR' |
STOP 'ABNORMAL END: S/R STREAMICE_INIT_VAR' |
391 |
ENDIF |
ENDIF |
392 |
|
|
393 |
! finish initialize basal traction |
! finish initialize glen |
394 |
|
|
395 |
CALL STREAMICE_UPD_FFRAC_UNCOUPLED ( myThid ) |
CALL STREAMICE_UPD_FFRAC_UNCOUPLED ( myThid ) |
396 |
|
|