186 |
CADJ STORE v2ocMxL(:,:,bi,bj) = comlev1_bibj, key = ticekey |
CADJ STORE v2ocMxL(:,:,bi,bj) = comlev1_bibj, key = ticekey |
187 |
#endif |
#endif |
188 |
|
|
189 |
|
#ifdef OLD_THSICE_CALL_SEQUENCE |
190 |
C- do sea-ice advection before getting surface fluxes |
C- do sea-ice advection before getting surface fluxes |
191 |
C Note: will inline this S/R once thSIce in Atmos. set-up is settled |
C Note: will inline this S/R once thSIce in Atmos. set-up is settled |
192 |
IF ( thSIceAdvScheme.GT.0 ) |
IF ( thSIceAdvScheme.GT.0 ) |
193 |
& CALL THSICE_DO_ADVECT( |
& CALL THSICE_DO_ADVECT( |
194 |
I bi,bj, myTime, myIter, myThid ) |
I bi,bj, myTime, myIter, myThid ) |
195 |
|
#endif /* OLD_THSICE_CALL_SEQUENCE */ |
196 |
|
|
197 |
#ifdef ALLOW_BULK_FORCE |
#ifdef ALLOW_BULK_FORCE |
198 |
IF ( useBulkforce ) THEN |
IF ( useBulkforce ) THEN |
269 |
C add a small piece of code to check AddFluid implementation: |
C add a small piece of code to check AddFluid implementation: |
270 |
c#include "thsice_test_addfluid.h" |
c#include "thsice_test_addfluid.h" |
271 |
|
|
|
IF ( useSEAICE .OR. thSIceAdvScheme.GT.0 ) THEN |
|
272 |
C-- Exchange fields that are advected by seaice dynamics |
C-- Exchange fields that are advected by seaice dynamics |
273 |
_EXCH_XY_RL( iceMask, myThid ) |
IF ( useSEAICE .OR. thSIceAdvScheme.GT.0 |
274 |
_EXCH_XY_RL( iceHeight, myThid ) |
& .OR. ( useEXF .AND. stressReduction.GT.zeroRL ) ) THEN |
275 |
_EXCH_XY_RL( snowHeight, myThid ) |
CALL THSICE_DO_EXCH( myThid ) |
|
_EXCH_XY_RL( Qice1, myThid ) |
|
|
_EXCH_XY_RL( Qice2, myThid ) |
|
|
ELSEIF ( useEXF .AND. stressReduction.GT. 0. _d 0 ) THEN |
|
|
_EXCH_XY_RL( iceMask, myThid ) |
|
276 |
ENDIF |
ENDIF |
277 |
|
#ifdef OLD_THSICE_CALL_SEQUENCE |
278 |
#ifdef ATMOSPHERIC_LOADING |
#ifdef ATMOSPHERIC_LOADING |
279 |
IF ( useRealFreshWaterFlux .AND. |
IF ( useRealFreshWaterFlux .AND. |
280 |
& ( useEXF .OR. useSEAICE .OR. thSIceAdvScheme.GT.0 ) ) |
& ( useEXF .OR. useSEAICE .OR. thSIceAdvScheme.GT.0 ) ) |
281 |
& _EXCH_XY_RS( sIceLoad, myThid ) |
& _EXCH_XY_RS( sIceLoad, myThid ) |
282 |
#endif |
#endif |
283 |
|
#else /* OLD_THSICE_CALL_SEQUENCE */ |
284 |
|
#ifdef ATMOSPHERIC_LOADING |
285 |
|
IF ( useRealFreshWaterFlux .AND. (useEXF.OR.useSEAICE ) |
286 |
|
& .AND. thSIceAdvScheme.LE.0 ) |
287 |
|
& _EXCH_XY_RS( sIceLoad, myThid ) |
288 |
|
#endif |
289 |
|
|
290 |
|
C- when useSEAICE=.true., this S/R is called from SEAICE_MODEL; |
291 |
|
C otherwise, call it from here, after thsice-thermodynamics is done |
292 |
|
IF ( thSIceAdvScheme.GT.0 .AND. .NOT.useSEAICE ) THEN |
293 |
|
CALL THSICE_DO_ADVECT( |
294 |
|
I 0, 0, myTime, myIter, myThid ) |
295 |
|
ENDIF |
296 |
|
#endif /* OLD_THSICE_CALL_SEQUENCE */ |
297 |
|
|
298 |
DO bj=myByLo(myThid),myByHi(myThid) |
DO bj=myByLo(myThid),myByHi(myThid) |
299 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
DO bi=myBxLo(myThid),myBxHi(myThid) |