/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/streamice_init_fixed.F
ViewVC logotype

Diff of /MITgcm_contrib/dgoldberg/streamice/streamice_init_fixed.F

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

revision 1.6 by dgoldberg, Sat Jun 8 22:15:33 2013 UTC revision 1.7 by dgoldberg, Wed Aug 27 19:29:14 2014 UTC
# Line 66  C        CALL STREAMICE_MNC_INIT( myThid Line 66  C        CALL STREAMICE_MNC_INIT( myThid
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'
# Line 75  C       The 0 is the "iteration" argumen Line 75  C       The 0 is the "iteration" argumen
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'
# Line 92  C       The 0 is the "iteration" argumen Line 91  C       The 0 is the "iteration" argumen
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'
# Line 132  C       The 0 is the "iteration" argumen Line 129  C       The 0 is the "iteration" argumen
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'
# Line 140  C       The 0 is the "iteration" argumen Line 137  C       The 0 is the "iteration" argumen
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
# Line 157  C       The 0 is the "iteration" argumen Line 154  C       The 0 is the "iteration" argumen
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
# Line 186  C       The 0 is the "iteration" argumen Line 183  C       The 0 is the "iteration" argumen
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
# Line 208  C       The 0 is the "iteration" argumen Line 224  C       The 0 is the "iteration" argumen
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)
# Line 258  C       The 0 is the "iteration" argumen Line 272  C       The 0 is the "iteration" argumen
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)
# Line 272  C- fill in the overlap (+ BARRIER): Line 285  C- fill in the overlap (+ BARRIER):
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    
# Line 331  C         INITIALIZE BOUNDARY CONDS AT E Line 344  C         INITIALIZE BOUNDARY CONDS AT E
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.
# Line 400  C         INITIALIZE BOUNDARY CONDS AT N Line 413  C         INITIALIZE BOUNDARY CONDS AT N
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
# Line 430  C         INITIALIZE BOUNDARY CONDS AT N Line 446  C         INITIALIZE BOUNDARY CONDS AT N
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
# Line 452  C         INITIALIZE BOUNDARY CONDS AT N Line 470  C         INITIALIZE BOUNDARY CONDS AT N
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
# Line 468  C         INITIALIZE BOUNDARY CONDS AT N Line 490  C         INITIALIZE BOUNDARY CONDS AT N
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
# Line 489  C         INITIALIZE BOUNDARY CONDS AT N Line 512  C         INITIALIZE BOUNDARY CONDS AT N
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
# Line 498  C         INITIALIZE BOUNDARY CONDS AT N Line 521  C         INITIALIZE BOUNDARY CONDS AT N
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 )
# Line 521  C         INITIALIZE BOUNDARY CONDS AT N Line 545  C         INITIALIZE BOUNDARY CONDS AT N
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
   

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22