66 |
IF ( STREAMICEcalveMaskFile .NE. ' ') THEN |
IF ( STREAMICEcalveMaskFile .NE. ' ') THEN |
67 |
_BARRIER |
_BARRIER |
68 |
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
69 |
CALL READ_FLD_XY_RL( STREAMICEcalveMaskFile, ' ', |
CALL READ_FLD_XY_RS( STREAMICEcalveMaskFile, ' ', |
70 |
& STREAMICE_calve_mask, 0, myThid ) |
& STREAMICE_calve_mask, 0, myThid ) |
71 |
ELSE |
ELSE |
72 |
WRITE(msgBuf,'(A)') 'INIT CALVE MASK - NOT IMPLENTED' |
WRITE(msgBuf,'(A)') 'INIT CALVE MASK - NOT IMPLENTED' |
75 |
ENDIF |
ENDIF |
76 |
ENDIF |
ENDIF |
77 |
|
|
|
|
|
78 |
! INITIALIZE SIGMA COORD |
! INITIALIZE SIGMA COORD |
79 |
IF (STREAMICEsigcoordInit.eq.'FILE') THEN |
IF (STREAMICEsigcoordInit.eq.'FILE') THEN |
80 |
WRITE(msgBuf,'(A)') 'SIG FROM FILE - NOT IMPLENTED' |
WRITE(msgBuf,'(A)') 'SIG FROM FILE - NOT IMPLENTED' |
91 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , 1) |
92 |
ENDIF |
ENDIF |
93 |
|
|
|
|
|
94 |
#ifdef ALLOW_COST |
#ifdef ALLOW_COST |
95 |
IF ( STREAMICEcostMaskFile .NE. ' ') THEN |
IF ( STREAMICEcostMaskFile .NE. ' ') THEN |
96 |
_BARRIER |
_BARRIER |
97 |
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
C The 0 is the "iteration" argument. The ' ' is an empty suffix |
98 |
CALL READ_FLD_XY_RL( STREAMICEcostMaskFile, ' ', |
CALL READ_FLD_XY_RS( STREAMICEcostMaskFile, ' ', |
99 |
& STREAMICE_cost_mask, 0, myThid ) |
& STREAMICE_cost_mask, 0, myThid ) |
100 |
ELSE |
ELSE |
101 |
WRITE(msgBuf,'(A)') 'COST MASK - NOT IMPLENTED' |
WRITE(msgBuf,'(A)') 'COST MASK - NOT IMPLENTED' |
102 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
103 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , 1) |
104 |
|
|
105 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
106 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
107 |
DO j=1,sNy |
DO j=1,sNy |
108 |
DO i=1,sNx |
DO i=1,sNx |
109 |
STREAMICE_cost_mask (i,j,bi,bj) = 1.0 |
STREAMICE_cost_mask (i,j,bi,bj) = 1.0 |
110 |
|
ENDDO |
111 |
ENDDO |
ENDDO |
112 |
ENDDO |
ENDDO |
113 |
ENDDO |
ENDDO |
|
ENDDO |
|
114 |
|
|
115 |
ENDIF |
ENDIF |
116 |
#endif |
#endif |
|
|
|
117 |
|
|
118 |
! READ IN FILES FOR BOUNDARY MASKS AND DIRICH VALUES |
! READ IN FILES FOR BOUNDARY MASKS AND DIRICH VALUES |
119 |
#ifdef STREAMICE_GEOM_FILE_SETUP |
#ifdef STREAMICE_GEOM_FILE_SETUP |
120 |
|
|
121 |
IF ( STREAMICEuFaceBdryFile .NE. ' ') THEN |
IF ( STREAMICEuFaceBdryFile .NE. ' ') THEN |
122 |
_BARRIER |
_BARRIER |
123 |
CALL READ_FLD_XY_RS ( STREAMICEuFaceBdryFile, ' ', |
CALL READ_FLD_XY_RS ( STREAMICEuFaceBdryFile, ' ', |
124 |
& temp_ufacemask, 0, myThid ) |
& temp_ufacemask, 0, myThid ) |
125 |
ELSE |
ELSE |
126 |
WRITE(msgBuf,'(A)') 'U FACE MASK - NOT SET' |
WRITE(msgBuf,'(A)') 'U FACE MASK - NOT SET' |
129 |
|
|
130 |
IF ( STREAMICEvFaceBdryFile .NE. ' ') THEN |
IF ( STREAMICEvFaceBdryFile .NE. ' ') THEN |
131 |
_BARRIER |
_BARRIER |
132 |
CALL READ_FLD_XY_RS ( STREAMICEvFaceBdryFile, ' ', |
CALL READ_FLD_XY_RS ( STREAMICEvFaceBdryFile, ' ', |
133 |
& temp_vfacemask, 0, myThid ) |
& temp_vfacemask, 0, myThid ) |
134 |
ELSE |
ELSE |
135 |
WRITE(msgBuf,'(A)') 'V FACE MASK - NOT SET' |
WRITE(msgBuf,'(A)') 'V FACE MASK - NOT SET' |
137 |
ENDIF |
ENDIF |
138 |
|
|
139 |
_EXCH_XY_RS(temp_ufacemask,myThid) |
_EXCH_XY_RS(temp_ufacemask,myThid) |
140 |
_EXCH_XY_RS(temp_ufacemask,myThid) |
_EXCH_XY_RS(temp_vfacemask,myThid) |
141 |
|
|
142 |
IF ( STREAMICEuDirichValsFile .NE. ' ') THEN |
IF ( STREAMICEuDirichValsFile .NE. ' ') THEN |
143 |
_BARRIER |
_BARRIER |
144 |
CALL READ_FLD_XY_RL ( STREAMICEuDirichValsFile, ' ', |
CALL READ_FLD_XY_RL ( STREAMICEuDirichValsFile, ' ', |
145 |
#ifdef ALLOW_STREAMICE_FLUX_CONTROL |
#ifdef ALLOW_STREAMICE_FLUX_CONTROL |
146 |
& u_bdry_values_SI_base, 0, myThid ) |
& u_bdry_values_SI_base, 0, myThid ) |
147 |
#else |
#else |
154 |
|
|
155 |
IF ( STREAMICEvDirichValsFile .NE. ' ') THEN |
IF ( STREAMICEvDirichValsFile .NE. ' ') THEN |
156 |
_BARRIER |
_BARRIER |
157 |
CALL READ_FLD_XY_RL ( STREAMICEvDirichValsFile, ' ', |
CALL READ_FLD_XY_RL ( STREAMICEvDirichValsFile, ' ', |
158 |
#ifdef ALLOW_STREAMICE_FLUX_CONTROL |
#ifdef ALLOW_STREAMICE_FLUX_CONTROL |
159 |
& v_bdry_values_SI_base, 0, myThid ) |
& v_bdry_values_SI_base, 0, myThid ) |
160 |
#else |
#else |
183 |
CALL PRINT_ERROR( msgBuf, myThid) |
CALL PRINT_ERROR( msgBuf, myThid) |
184 |
ENDIF |
ENDIF |
185 |
|
|
186 |
|
|
187 |
|
IF ( streamiceumassfluxfile .NE. ' ') THEN |
188 |
|
_BARRIER |
189 |
|
CALL READ_FLD_XY_RL ( streamiceumassfluxfile , ' ', |
190 |
|
& u_flux_bdry_SI, 0, myThid ) |
191 |
|
ELSE |
192 |
|
WRITE(msgBuf,'(A)') 'MASS FLUX AT U FACE - NOT SET' |
193 |
|
CALL PRINT_ERROR( msgBuf, myThid) |
194 |
|
ENDIF |
195 |
|
|
196 |
|
IF ( streamicevmassfluxfile .NE. ' ') THEN |
197 |
|
_BARRIER |
198 |
|
CALL READ_FLD_XY_RL ( streamicevmassfluxfile , ' ', |
199 |
|
& v_flux_bdry_SI, 0, myThid ) |
200 |
|
ELSE |
201 |
|
WRITE(msgBuf,'(A)') 'MASS FLUX AT V FACE - NOT SET' |
202 |
|
CALL PRINT_ERROR( msgBuf, myThid) |
203 |
|
ENDIF |
204 |
|
|
205 |
#ifdef ALLOW_STREAMICE_2DTRACER |
#ifdef ALLOW_STREAMICE_2DTRACER |
206 |
|
|
207 |
IF ( STREAMICETrac2dBCxFile .NE. ' ') THEN |
IF ( STREAMICETrac2dBCxFile .NE. ' ') THEN |
224 |
|
|
225 |
#endif |
#endif |
226 |
|
|
|
|
|
227 |
! with this setup hmask is initialized here rather than in init_varia, |
! with this setup hmask is initialized here rather than in init_varia, |
228 |
! because it is needed to set no-flow boundaries, even though the field |
! because it is needed to set no-flow boundaries, even though the field |
229 |
! could potentially change due to ice shelf front advance and calving |
! could potentially change due to ice shelf front advance and calving |
230 |
! (POTENTIAL PROBLEMS WITH TAF?????? USE TEMP FIELD HERE AND SET HMASK IN INIT_VARIA??) |
! (POTENTIAL PROBLEMS WITH TAF ? USE TEMP FIELD HERE AND SET HMASK IN INIT_VARIA ?) |
231 |
|
|
232 |
IF ( STREAMICEhMaskFile .NE. ' ') THEN |
IF ( STREAMICEhMaskFile .NE. ' ') THEN |
233 |
_BARRIER |
_BARRIER |
234 |
CALL READ_FLD_XY_RS ( STREAMICEhMaskFile, ' ', |
CALL READ_FLD_XY_RS ( STREAMICEhMaskFile, ' ', |
235 |
& temp_hmask, 0, myThid ) |
& temp_hmask, 0, myThid ) |
236 |
ELSE |
ELSE |
237 |
WRITE(msgBuf,'(A)') 'H MASK FILE - NOT SET' |
WRITE(msgBuf,'(A)') 'H MASK FILE - NOT SET' |
238 |
CALL PRINT_ERROR( msgBuf, myThid) |
CALL PRINT_ERROR( msgBuf, myThid) |
239 |
ENDIF |
ENDIF |
|
|
|
|
_EXCH_XY_RS(temp_hmask,myThid) |
|
240 |
|
|
241 |
|
_EXCH_XY_RS(temp_hmask,myThid) |
242 |
|
|
243 |
#ifdef ALLOW_CTRL |
#ifdef ALLOW_CTRL |
244 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
272 |
#endif |
#endif |
273 |
|
|
274 |
#endif /* STREAMICE_GEOM_FILE_SETUP */ |
#endif /* STREAMICE_GEOM_FILE_SETUP */ |
|
|
|
275 |
|
|
276 |
!!!!!!!!!!!!!!!!!!!!!!!!! |
!!!!!!!!!!!!!!!!!!!!!!!!! |
277 |
|
|
278 |
C- fill in the overlap (+ BARRIER): |
C- fill in the overlap (+ BARRIER): |
279 |
_EXCH_XY_RL(STREAMICE_calve_mask, myThid ) |
_EXCH_XY_RS(STREAMICE_calve_mask, myThid ) |
280 |
|
|
281 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
282 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
285 |
|
|
286 |
C INIT VALUES FOR METRIC TERMS |
C INIT VALUES FOR METRIC TERMS |
287 |
|
|
288 |
k1AtC_str(i,j,bi,bj) = recip_rA(i,j,bi,bj) * |
k1AtC_str(i,j,bi,bj) = recip_rA(i,j,bi,bj) * |
289 |
& (dxG(i+1,j,bi,bj)-dxG(i,j,bi,bj)) |
& (dxG(i+1,j,bi,bj)-dxG(i,j,bi,bj)) |
290 |
k2AtC_str(i,j,bi,bj) = recip_rA(i,j,bi,bj) * |
k2AtC_str(i,j,bi,bj) = recip_rA(i,j,bi,bj) * |
291 |
& (dyG(i,j+1,bi,bj)-dyG(i,j,bi,bj)) |
& (dyG(i,j+1,bi,bj)-dyG(i,j,bi,bj)) |
292 |
|
|
293 |
#ifdef STREAMICE_HYBRID_STRESS |
#ifdef STREAMICE_HYBRID_STRESS |
294 |
streamice_basal_geom (i,j,bi,bj) = 1.0 |
streamice_basal_geom (i,j,bi,bj) = 1.0 |
295 |
#endif |
#endif |
296 |
|
|
297 |
C INIT BDRY CONDITIONS |
C INIT BDRY CONDITIONS |
298 |
|
|
344 |
ENDIF |
ENDIF |
345 |
IF ((y .gt. min_y_FluxBdry_EAST) .AND. |
IF ((y .gt. min_y_FluxBdry_EAST) .AND. |
346 |
& (y .le. max_y_FluxBdry_EAST)) THEN |
& (y .le. max_y_FluxBdry_EAST)) THEN |
347 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 4.0 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 4.0 |
348 |
u_flux_bdry_SI (i,j,bi,bj) = flux_bdry_val_EAST |
u_flux_bdry_SI (i,j,bi,bj) = flux_bdry_val_EAST |
349 |
ENDIF |
ENDIF |
350 |
IF ((y .gt. min_y_Dirich_EAST) .AND. |
IF ((y .gt. min_y_Dirich_EAST) .AND. |
413 |
#else /* ifndef STREAMICE_GEOM_FILE_SETUP */ |
#else /* ifndef STREAMICE_GEOM_FILE_SETUP */ |
414 |
! BOUNDARY MASK CONFIGURED FROM FILES |
! BOUNDARY MASK CONFIGURED FROM FILES |
415 |
|
|
416 |
|
IF (temp_hmask(i,j,bi,bj).eq.1.0 .or. |
417 |
IF (temp_hmask(i,j,bi,bj).eq.1.0 .or. |
& temp_hmask(i,j,bi,bj).eq.0.0 .or. |
|
& temp_hmask(i,j,bi,bj).eq.0.0 .or. |
|
418 |
& temp_hmask(i-1,j,bi,bj).eq.1.0) THEN |
& temp_hmask(i-1,j,bi,bj).eq.1.0) THEN |
419 |
|
|
420 |
! WEST FACE OF CELL |
! WEST FACE OF CELL |
421 |
maskFlag=INT(temp_ufacemask(i,j,bi,bj)) |
maskFlag=INT(temp_ufacemask(i,j,bi,bj)) |
422 |
IF (maskFlag.eq.2) THEN |
IF (maskFlag.eq.2) THEN |
423 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 2.0 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 2.0 |
424 |
|
ELSEIF (maskflag.eq.4.0) THEN |
425 |
|
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 4.0 |
426 |
ELSEIF (maskFlag.eq.3) THEN |
ELSEIF (maskFlag.eq.3) THEN |
427 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 3.0 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 3.0 |
428 |
ELSEIF (maskFlag.eq.1) THEN |
ELSEIF (maskFlag.eq.1) THEN |
429 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 1.0 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 1.0 |
430 |
ELSEIF ((maskFlag.eq.0) .or. |
ELSEIF ((maskFlag.eq.0) .or. |
431 |
& ((maskFlag.eq.-1) .and. |
& ((maskFlag.eq.-1) .and. |
432 |
& (temp_hmask(i-1,j,bi,bj).eq.-1.0))) THEN |
& (temp_hmask(i-1,j,bi,bj).eq.-1.0))) THEN |
433 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 0.0 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = 0.0 |
434 |
|
ELSEIF (temp_hmask(i,j,bi,bj).eq.-1.0) THEN |
435 |
|
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 0.0 |
436 |
ELSE |
ELSE |
437 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = -1.0 |
STREAMICE_ufacemask_bdry (i,j,bi,bj) = -1.0 |
438 |
ENDIF |
ENDIF |
446 |
maskFlag=INT(temp_ufacemask(i+1,j,bi,bj)) |
maskFlag=INT(temp_ufacemask(i+1,j,bi,bj)) |
447 |
IF (maskFlag.eq.2) THEN |
IF (maskFlag.eq.2) THEN |
448 |
STREAMICE_ufacemask_bdry (i+1,j,bi,bj) = 2.0 |
STREAMICE_ufacemask_bdry (i+1,j,bi,bj) = 2.0 |
449 |
|
ELSEIF (maskFlag.eq.4.0) THEN |
450 |
|
STREAMICE_ufacemask_bdry (i+1,j,bi,bj) = 4.0 |
451 |
ELSEIF (maskFlag.eq.3) THEN |
ELSEIF (maskFlag.eq.3) THEN |
452 |
STREAMICE_ufacemask_bdry (i+1,j,bi,bj) = 3.0 |
STREAMICE_ufacemask_bdry (i+1,j,bi,bj) = 3.0 |
453 |
ELSEIF (maskFlag.eq.1) THEN |
ELSEIF (maskFlag.eq.1) THEN |
454 |
STREAMICE_ufacemask_bdry (i+1,j,bi,bj) = 1.0 |
STREAMICE_ufacemask_bdry (i+1,j,bi,bj) = 1.0 |
455 |
ELSEIF ((maskFlag.eq.0) .or. |
ELSEIF ((maskFlag.eq.0) .or. |
456 |
& ((maskFlag.eq.-1) .and. |
& ((maskFlag.eq.-1) .and. |
457 |
& (temp_hmask(i+1,j,bi,bj).eq.-1.0))) THEN |
& (temp_hmask(i+1,j,bi,bj).eq.-1.0))) THEN |
458 |
STREAMICE_ufacemask_bdry (i+1,j,bi,bj) = 0.0 |
STREAMICE_ufacemask_bdry (i+1,j,bi,bj) = 0.0 |
470 |
maskFlag=INT(temp_vfacemask(i,j,bi,bj)) |
maskFlag=INT(temp_vfacemask(i,j,bi,bj)) |
471 |
IF (maskFlag.eq.2) THEN |
IF (maskFlag.eq.2) THEN |
472 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 2.0 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 2.0 |
473 |
|
ELSEIF (maskFlag.eq.4.0) THEN |
474 |
|
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 4.0 |
475 |
ELSEIF (maskFlag.eq.3) THEN |
ELSEIF (maskFlag.eq.3) THEN |
476 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 3.0 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 3.0 |
477 |
ELSEIF (maskFlag.eq.1) THEN |
ELSEIF (maskFlag.eq.1) THEN |
478 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 1.0 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 1.0 |
479 |
ELSEIF ((maskFlag.eq.0) .or. |
ELSEIF ((maskFlag.eq.0) .or. |
480 |
& ((maskFlag.eq.-1) .and. |
& ((maskFlag.eq.-1) .and. |
481 |
& (temp_hmask(i,j-1,bi,bj).eq.-1.0))) THEN |
& (temp_hmask(i,j-1,bi,bj).eq.-1.0))) THEN |
482 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 0.0 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 0.0 |
483 |
|
ELSEIF (temp_hmask(i,j,bi,bj).eq.-1.0) THEN |
484 |
|
STREAMICE_vfacemask_bdry (i,j,bi,bj) = 0.0 |
485 |
ELSE |
ELSE |
486 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = -1.0 |
STREAMICE_vfacemask_bdry (i,j,bi,bj) = -1.0 |
487 |
ENDIF |
ENDIF |
490 |
|
|
491 |
IF (temp_hmask(i,j,bi,bj).eq.1.0 .or. |
IF (temp_hmask(i,j,bi,bj).eq.1.0 .or. |
492 |
& temp_hmask(i,j,bi,bj).eq.0.0) THEN |
& temp_hmask(i,j,bi,bj).eq.0.0) THEN |
|
|
|
493 |
|
|
494 |
! NORTH FACE OF CELL |
! NORTH FACE OF CELL |
495 |
maskFlag=INT(temp_vfacemask(i,j+1,bi,bj)) |
maskFlag=INT(temp_vfacemask(i,j+1,bi,bj)) |
496 |
IF (maskFlag.eq.2) THEN |
IF (maskFlag.eq.2) THEN |
497 |
STREAMICE_vfacemask_bdry (i,j+1,bi,bj) = 2.0 |
STREAMICE_vfacemask_bdry (i,j+1,bi,bj) = 2.0 |
498 |
|
ELSEIF (maskFlag.eq.4.0) THEN |
499 |
|
STREAMICE_vfacemask_bdry (i,j+1,bi,bj) = 4.0 |
500 |
ELSEIF (maskFlag.eq.3) THEN |
ELSEIF (maskFlag.eq.3) THEN |
501 |
STREAMICE_vfacemask_bdry (i,j+1,bi,bj) = 3.0 |
STREAMICE_vfacemask_bdry (i,j+1,bi,bj) = 3.0 |
502 |
ELSEIF (maskFlag.eq.1) THEN |
ELSEIF (maskFlag.eq.1) THEN |
503 |
STREAMICE_vfacemask_bdry (i,j+1,bi,bj) = 1.0 |
STREAMICE_vfacemask_bdry (i,j+1,bi,bj) = 1.0 |
504 |
ELSEIF ((maskFlag.eq.0) .or. |
ELSEIF ((maskFlag.eq.0) .or. |
505 |
& ((maskFlag.eq.-1) .and. |
& ((maskFlag.eq.-1) .and. |
506 |
& (temp_hmask(i,j+1,bi,bj).eq.-1.0))) THEN |
& (temp_hmask(i,j+1,bi,bj).eq.-1.0))) THEN |
507 |
STREAMICE_vfacemask_bdry (i,j+1,bi,bj) = 0.0 |
STREAMICE_vfacemask_bdry (i,j+1,bi,bj) = 0.0 |
512 |
ENDIF ! hmask==1 or hmask==0 |
ENDIF ! hmask==1 or hmask==0 |
513 |
|
|
514 |
#endif |
#endif |
515 |
|
|
516 |
ENDDO |
ENDDO |
517 |
ENDDO |
ENDDO |
518 |
ENDDO |
ENDDO |
521 |
#ifdef ALLOW_CTRL |
#ifdef ALLOW_CTRL |
522 |
! _EXCH_XY_RL(STREAMICE_ctrl_mask, myThid ) |
! _EXCH_XY_RL(STREAMICE_ctrl_mask, myThid ) |
523 |
CALL ACTIVE_WRITE_GEN_RS( 'maskCtrlL', STREAMICE_ctrl_mask, |
CALL ACTIVE_WRITE_GEN_RS( 'maskCtrlL', STREAMICE_ctrl_mask, |
524 |
& 'XY', Nr, 1, .FALSE., 0, mythid, dummyRS ) |
& 'XY', Nr, 1, .FALSE., 0, myThid, dummyRS ) |
525 |
#endif |
#endif |
526 |
|
|
527 |
#ifdef ALLOW_COST |
#ifdef ALLOW_COST |
528 |
! _EXCH_XY_RL(STREAMICE_ctrl_mask, myThid ) |
! _EXCH_XY_RL(STREAMICE_ctrl_mask, myThid ) |
529 |
CALL WRITE_FLD_XY_RS ( 'maskCost', '', |
CALL WRITE_FLD_XY_RS ( 'maskCost', '', |
530 |
& STREAMICE_cost_mask, 0, myThid ) |
& STREAMICE_cost_mask, 0, myThid ) |
531 |
#endif |
#endif |
532 |
|
|
533 |
|
|
534 |
|
|
535 |
_EXCH_XY_RL(k1AtC_str, myThid ) |
_EXCH_XY_RL(k1AtC_str, myThid ) |
536 |
_EXCH_XY_RL(k2AtC_str, myThid ) |
_EXCH_XY_RL(k2AtC_str, myThid ) |
537 |
_EXCH_XY_RL(STREAMICE_ufacemask_bdry, myThid ) |
_EXCH_XY_RS(STREAMICE_ufacemask_bdry, myThid ) |
538 |
_EXCH_XY_RL(STREAMICE_vfacemask_bdry, myThid ) |
_EXCH_XY_RS(STREAMICE_vfacemask_bdry, myThid ) |
539 |
_EXCH_XY_RL(u_bdry_values_SI, myThid ) |
_EXCH_XY_RL(u_bdry_values_SI, myThid ) |
540 |
_EXCH_XY_RL(v_bdry_values_SI, myThid ) |
_EXCH_XY_RL(v_bdry_values_SI, myThid ) |
541 |
_EXCH_XY_RL(u_flux_bdry_SI, myThid ) |
_EXCH_XY_RL(u_flux_bdry_SI, myThid ) |
545 |
Xquad (2) = .5 * (1.+1./sqrt(3.)) |
Xquad (2) = .5 * (1.+1./sqrt(3.)) |
546 |
|
|
547 |
CALL STREAMICE_INIT_PHI( myThid ) |
CALL STREAMICE_INIT_PHI( myThid ) |
548 |
|
|
549 |
#endif |
#endif |
550 |
|
|
551 |
RETURN |
RETURN |
552 |
END |
END |
|
|
|