67 |
jMin = 1-OLy |
jMin = 1-OLy |
68 |
jMax = sNy+OLy-1 |
jMax = sNy+OLy-1 |
69 |
#ifdef ATMOSPHERIC_LOADING |
#ifdef ATMOSPHERIC_LOADING |
70 |
ELSEIF ( useRealFreshWaterFlux ) THEN |
ELSEIF ( useRealFreshWaterFlux .AND. .NOT.useSEAICE ) THEN |
71 |
C- needs sea-ice loading in part of the halo regions for grad.Phi0surf |
C- needs sea-ice loading in part of the halo regions for grad.Phi0surf |
72 |
C to be valid at the boundaries ( d/dx 1:sNx+1 ; d/dy 1:sNy+1 ) |
C to be valid at the boundaries ( d/dx 1:sNx+1 ; d/dy 1:sNy+1 ) |
73 |
iMin = 0 |
iMin = 0 |
211 |
c ENDDO |
c ENDDO |
212 |
c ENDDO |
c ENDDO |
213 |
|
|
214 |
#ifdef ALLOW_SEAICE |
C-- note: If useSEAICE=.true., the stress is computed in seaice_model, |
215 |
C-- If useSEAICE=.true., the stress is computed in seaice_model, |
C-- and stressReduction is always set to zero |
|
C-- so that it does not need any further reduction |
|
|
IF ( .NOT. useSEAICE ) THEN |
|
|
#endif /* ALLOW_SEAICE */ |
|
216 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
217 |
CADJ STORE fu(:,:,bi,bj) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE fu(:,:,bi,bj) = comlev1_bibj, key=iicekey, byte=isbyte |
218 |
CADJ STORE fv(:,:,bi,bj) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE fv(:,:,bi,bj) = comlev1_bibj, key=iicekey, byte=isbyte |
219 |
#endif |
#endif |
220 |
IF ( stressReduction.GT. 0. _d 0 ) THEN |
IF ( stressReduction.GT. 0. _d 0 ) THEN |
221 |
DO j = jMin, jMax |
DO j = jMin, jMax |
222 |
DO i = iMin+1,iMax |
DO i = iMin+1,iMax |
223 |
tauFac = stressReduction |
tauFac = stressReduction |
232 |
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) |
233 |
ENDDO |
ENDDO |
234 |
ENDDO |
ENDDO |
|
ENDIF |
|
|
#ifdef ALLOW_SEAICE |
|
|
C not useSEAICE |
|
235 |
ENDIF |
ENDIF |
|
#endif /* ALLOW_SEAICE */ |
|
236 |
|
|
237 |
C-- end bi,bj loop |
C-- end bi,bj loop |
238 |
ENDDO |
ENDDO |
239 |
ENDDO |
ENDDO |
240 |
|
|
|
#ifdef ATMOSPHERIC_LOADING |
|
|
c IF (useRealFreshWaterFlux) _EXCH_XY_RS(sIceLoad, myThid) |
|
|
#endif |
|
241 |
|
|
242 |
#ifdef ALLOW_SEAICE |
#ifdef ALLOW_SEAICE |
243 |
IF ( useSEAICE ) THEN |
IF ( useSEAICE ) THEN |
244 |
C-- Exchange fields that are advected by seaice dynamics |
C-- Exchange fields that are advected by seaice dynamics |
245 |
_EXCH_XY_R8( iceMask, myThid ) |
_EXCH_XY_R8( iceMask, myThid ) |
246 |
_EXCH_XY_R8( iceHeight, myThid ) |
_EXCH_XY_R8( iceHeight, myThid ) |
247 |
_EXCH_XY_R8( snowHeight, myThid ) |
_EXCH_XY_R8( snowHeight, myThid ) |
248 |
_EXCH_XY_R8( Qice1, myThid ) |
_EXCH_XY_R8( Qice1, myThid ) |
249 |
_EXCH_XY_R8( Qice2, myThid ) |
_EXCH_XY_R8( Qice2, myThid ) |
250 |
|
#ifdef ATMOSPHERIC_LOADING |
251 |
|
IF (useRealFreshWaterFlux) |
252 |
|
& _EXCH_XY_RS( sIceLoad, myThid ) |
253 |
|
#endif |
254 |
ENDIF |
ENDIF |
255 |
#endif /* ALLOW_SEAICE */ |
#endif /* ALLOW_SEAICE */ |
256 |
|
|
257 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
258 |
#endif /*ALLOW_THSICE*/ |
#endif /*ALLOW_THSICE*/ |
259 |
|
|