/[MITgcm]/MITgcm/pkg/thsice/thsice_main.F
ViewVC logotype

Diff of /MITgcm/pkg/thsice/thsice_main.F

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

revision 1.33 by jmc, Sat Apr 20 23:59:07 2013 UTC revision 1.34 by jmc, Mon Apr 22 19:35:51 2013 UTC
# Line 73  c     _RL flxSW (1-OLx:sNx+OLx,1-OLy:sNy Line 73  c     _RL flxSW (1-OLx:sNx+OLx,1-OLy:sNy
73    
74  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
75    
76        IF ( useEXF .OR. useSEAICE ) THEN  C-    Only compute/update seaice fields over the interior
77  C-    EXF does not provide valid fields in overlap  C     (excluding overlap) and apply exchanges when needed
78         iMin = 1        iMin = 1
79         iMax = sNx        iMax = sNx
80         jMin = 1        jMin = 1
81         jMax = sNy        jMax = sNy
       ELSEIF ( stressReduction.GT. 0. _d 0 ) THEN  
 C-     needs new Ice Fraction in halo region to apply wind-stress reduction  
        iMin = 1-OLx  
        iMax = sNx+OLx-1  
        jMin = 1-OLy  
        jMax = sNy+OLy-1  
 #ifdef ATMOSPHERIC_LOADING  
       ELSEIF ( useRealFreshWaterFlux ) THEN  
 C-     needs sea-ice loading in part of the halo regions for grad.Phi0surf  
 C      to be valid at the boundaries ( d/dx 1:sNx+1 ; d/dy 1:sNy+1 )  
        iMin = 0  
        iMax = sNx+1  
        jMin = 0  
        jMax = sNy+1  
 #endif /* ATMOSPHERIC_LOADING */  
       ELSE  
        iMin = 1  
        iMax = sNx  
        jMin = 1  
        jMax = sNy  
       ENDIF  
82    
83        DO bj=myByLo(myThid),myByHi(myThid)        DO bj=myByLo(myThid),myByHi(myThid)
84         DO bi=myBxLo(myThid),myBxHi(myThid)         DO bi=myBxLo(myThid),myBxHi(myThid)
# Line 244  c#include "thsice_test_addfluid.h" Line 223  c#include "thsice_test_addfluid.h"
223    
224  C--   Exchange fields that are advected by seaice dynamics  C--   Exchange fields that are advected by seaice dynamics
225        IF ( useSEAICE .OR. thSIceAdvScheme.GT.0        IF ( useSEAICE .OR. thSIceAdvScheme.GT.0
226       &       .OR. ( useEXF .AND. stressReduction.GT.zeroRL ) ) THEN       &               .OR. stressReduction.GT.zeroRL ) THEN
227          CALL THSICE_DO_EXCH( myThid )          CALL THSICE_DO_EXCH( myThid )
228        ENDIF        ENDIF
229  #ifdef OLD_THSICE_CALL_SEQUENCE  #ifdef OLD_THSICE_CALL_SEQUENCE
230  #ifdef ATMOSPHERIC_LOADING  #ifdef ATMOSPHERIC_LOADING
231        IF ( useRealFreshWaterFlux .AND.        IF ( useRealFreshWaterFlux )
      &    ( useEXF .OR. useSEAICE .OR. thSIceAdvScheme.GT.0 ) )  
232       &  _EXCH_XY_RS( sIceLoad, myThid )       &  _EXCH_XY_RS( sIceLoad, myThid )
233  #endif  #endif
234  #else /* OLD_THSICE_CALL_SEQUENCE */  #else /* OLD_THSICE_CALL_SEQUENCE */
235  #ifdef ATMOSPHERIC_LOADING  #ifdef ATMOSPHERIC_LOADING
236        IF ( useRealFreshWaterFlux .AND. (useEXF.OR.useSEAICE )        IF ( useRealFreshWaterFlux .AND. thSIceAdvScheme.LE.0 )
      &                           .AND. thSIceAdvScheme.LE.0 )  
237       &  _EXCH_XY_RS( sIceLoad, myThid )       &  _EXCH_XY_RS( sIceLoad, myThid )
238  #endif  #endif
239    
# Line 287  CADJ STORE fu(:,:,bi,bj) = comlev1_bibj, Line 264  CADJ STORE fu(:,:,bi,bj) = comlev1_bibj,
264  CADJ STORE fv(:,:,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte  CADJ STORE fv(:,:,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte
265  #endif  #endif
266          IF ( stressReduction.GT. 0. _d 0 ) THEN          IF ( stressReduction.GT. 0. _d 0 ) THEN
267            DO j = jMin, jMax            DO j = 1-OLy,sNy+OLy-1
268             DO i = iMin+1,iMax             DO i = 2-OLx,sNx+OLx-1
269              tauFac = stressReduction              tauFac = stressReduction
270       &             *(iceMask(i-1,j,bi,bj)+iceMask(i,j,bi,bj))*0.5 _d 0       &             *(iceMask(i-1,j,bi,bj)+iceMask(i,j,bi,bj))*0.5 _d 0
271              fu(i,j,bi,bj) = (1. _d 0 - tauFac)*fu(i,j,bi,bj)              fu(i,j,bi,bj) = (1. _d 0 - tauFac)*fu(i,j,bi,bj)
272             ENDDO             ENDDO
273            ENDDO            ENDDO
274            DO j = jMin+1, jMax            DO j = 2-OLy,sNy+OLy-1
275             DO i = iMin, iMax             DO i = 1-OLx,sNx+OLx-1
276              tauFac = stressReduction              tauFac = stressReduction
277       &             *(iceMask(i,j-1,bi,bj)+iceMask(i,j,bi,bj))*0.5 _d 0       &             *(iceMask(i,j-1,bi,bj)+iceMask(i,j,bi,bj))*0.5 _d 0
278              fv(i,j,bi,bj) = (1. _d 0 - tauFac)*fv(i,j,bi,bj)              fv(i,j,bi,bj) = (1. _d 0 - tauFac)*fv(i,j,bi,bj)

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34

  ViewVC Help
Powered by ViewVC 1.1.22