431 |
ENDIF |
ENDIF |
432 |
#endif /* ALLOW_OBCS */ |
#endif /* ALLOW_OBCS */ |
433 |
|
|
|
|
|
|
#ifdef ALLOW_THERM_SEAICE |
|
|
IF (useThermSeaIce) THEN |
|
|
#ifdef ALLOW_DEBUG |
|
|
IF ( debugLevel .GE. debLevB ) |
|
|
& CALL DEBUG_CALL('ICE_FORCING',myThid) |
|
|
#endif |
|
|
C-- Determines forcing terms based on external fields |
|
|
C including effects from ice |
|
|
CALL ICE_FORCING( |
|
|
I bi, bj, iMin, iMax, jMin, jMax, |
|
|
I myThid ) |
|
|
ELSE |
|
|
#endif /* ALLOW_THERM_SEAICE */ |
|
|
|
|
434 |
C-- Determines forcing terms based on external fields |
C-- Determines forcing terms based on external fields |
435 |
C relaxation terms, etc. |
C relaxation terms, etc. |
436 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
441 |
I bi, bj, iMin, iMax, jMin, jMax, |
I bi, bj, iMin, iMax, jMin, jMax, |
442 |
I myTime, myIter, myThid ) |
I myTime, myIter, myThid ) |
443 |
|
|
|
#ifdef ALLOW_THERM_SEAICE |
|
|
C-- end of if/else block useThermSeaIce -- |
|
|
ENDIF |
|
|
#endif /* ALLOW_THERM_SEAICE */ |
|
|
|
|
444 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
445 |
cph needed for KPP |
cph needed for KPP |
446 |
CADJ STORE surfacetendencyU(:,:,bi,bj) |
CADJ STORE surfacetendencyU(:,:,bi,bj) |
682 |
I myIter, myThid) |
I myIter, myThid) |
683 |
ENDIF |
ENDIF |
684 |
|
|
|
#ifdef ALLOW_THERM_SEAICE |
|
|
IF (useThermSeaIce .AND. k.EQ.1) THEN |
|
|
CALL ICE_FREEZE( bi,bj, iMin,iMax,jMin,jMax, myThid ) |
|
|
ENDIF |
|
|
#endif |
|
|
|
|
685 |
IF ( saltStepping ) THEN |
IF ( saltStepping ) THEN |
686 |
CALL CALC_GS( |
CALL CALC_GS( |
687 |
I bi,bj,iMin,iMax,jMin,jMax, k,km1,kup,kDown, |
I bi,bj,iMin,iMax,jMin,jMax, k,km1,kup,kDown, |
730 |
C this bit of code is left here for backward compatibility. |
C this bit of code is left here for backward compatibility. |
731 |
C freezing at surface level has been moved to FORWARD_STEP |
C freezing at surface level has been moved to FORWARD_STEP |
732 |
IF ( useOldFreezing .AND. .NOT. useSEAICE |
IF ( useOldFreezing .AND. .NOT. useSEAICE |
733 |
& .AND. .NOT.(useThermSeaIce.AND.k.EQ.1) ) THEN |
& .AND. .NOT.(useThSIce.AND.k.EQ.1) ) THEN |
734 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
735 |
CADJ STORE gT(:,:,k,bi,bj) = comlev1_bibj_k |
CADJ STORE gT(:,:,k,bi,bj) = comlev1_bibj_k |
736 |
CADJ & , key = kkey, byte = isbyte |
CADJ & , key = kkey, byte = isbyte |
741 |
C-- end of thermodynamic k loop (Nr:1) |
C-- end of thermodynamic k loop (Nr:1) |
742 |
ENDDO |
ENDDO |
743 |
|
|
|
cswdice -- add --- |
|
|
#ifdef ALLOW_THERM_SEAICE |
|
|
c timeaveraging for ice model values |
|
|
ceh3 This should be wrapped in an IF ( useThermSeaIce ) THEN |
|
|
CALL ICE_AVE(bi,bj,iMin,iMax,jMin,jMax,myThid ) |
|
|
#endif |
|
|
cswdice --- end add --- |
|
|
|
|
|
|
|
|
|
|
744 |
|
|
745 |
C-- Implicit diffusion |
C-- Implicit diffusion |
746 |
IF (implicitDiffusion) THEN |
IF (implicitDiffusion) THEN |