| 57 | 
       DO bi=myBxLo(myThid),myBxHi(myThid) | 
       DO bi=myBxLo(myThid),myBxHi(myThid) | 
| 58 | 
       DO iTr=1,SItrMaxNum | 
       DO iTr=1,SItrMaxNum | 
| 59 | 
  | 
  | 
| 60 | 
 c 0) set ice-ocean and ice-snow exchange values        | 
 c 0) set ice-ocean and ice-snow exchange values | 
| 61 | 
 c ============================================= | 
 c ============================================= | 
| 62 | 
       DO J=1,sNy | 
       DO J=1,sNy | 
| 63 | 
        DO I=1,sNx | 
        DO I=1,sNx | 
| 69 | 
       if (SItrName(iTr).EQ.'age') then | 
       if (SItrName(iTr).EQ.'age') then | 
| 70 | 
 c age tracer: no age in ocean, or effect from ice cover changes | 
 c age tracer: no age in ocean, or effect from ice cover changes | 
| 71 | 
       elseif (SItrName(iTr).EQ.'salinity') then | 
       elseif (SItrName(iTr).EQ.'salinity') then | 
| 72 | 
 c salinity tracer:  | 
 c salinity tracer: | 
| 73 | 
        DO J=1,sNy | 
        DO J=1,sNy | 
| 74 | 
         DO I=1,sNx | 
         DO I=1,sNx | 
| 75 | 
          SItrFromOcean(i,j)=SIsal0 | 
          SItrFromOcean(i,j)=SIsal0 | 
| 76 | 
 #ifdef SEAICE_VARIABLE_SALINITY | 
 #ifdef SEAICE_VARIABLE_SALINITY | 
| 77 | 
          if (SIsalFRAC.GT.0.)  | 
          if (SIsalFRAC.GT.0.) | 
| 78 | 
      &   SItrFromOcean(i,j)=SIsalFRAC*salt(I,j,ks,bi,bj) | 
      &   SItrFromOcean(i,j)=SIsalFRAC*salt(I,j,ks,bi,bj) | 
| 79 | 
 #endif | 
 #endif | 
| 80 | 
 c as of now, flooding implies no salt extraction from ocean | 
 c as of now, flooding implies no salt extraction from ocean | 
| 96 | 
        DO I=1,sNx | 
        DO I=1,sNx | 
| 97 | 
         HEFFprev=SItrHEFF(i,j,bi,bj,1) | 
         HEFFprev=SItrHEFF(i,j,bi,bj,1) | 
| 98 | 
 #ifdef ALLOW_SITRACER_DEBUG_DIAG | 
 #ifdef ALLOW_SITRACER_DEBUG_DIAG | 
| 99 | 
         DIAGarray(I,J,5+(iTr-1)*5) =  | 
         DIAGarray(I,J,5+(iTr-1)*5) = | 
| 100 | 
      &    HEFFprev*SItracer(i,j,bi,bj,iTr) + SItrBucket(i,j,bi,bj,iTr) | 
      &    HEFFprev*SItracer(i,j,bi,bj,iTr) + SItrBucket(i,j,bi,bj,iTr) | 
| 101 | 
 #endif | 
 #endif | 
| 102 | 
 c apply the sequence of thermodynamics increments to actual traceur | 
 c apply the sequence of thermodynamics increments to actual traceur | 
| 133 | 
           SItrBucket(i,j,bi,bj,iTr)=SItrBucket(i,j,bi,bj,iTr) | 
           SItrBucket(i,j,bi,bj,iTr)=SItrBucket(i,j,bi,bj,iTr) | 
| 134 | 
      &             -HEFFpost*SItrFromFlood(i,j)*(1. _d 0 - growFact) | 
      &             -HEFFpost*SItrFromFlood(i,j)*(1. _d 0 - growFact) | 
| 135 | 
 #ifdef ALLOW_SITRACER_DEBUG_DIAG | 
 #ifdef ALLOW_SITRACER_DEBUG_DIAG | 
| 136 | 
         DIAGarray(I,J,5+(iTr-1)*5) = HEFFpost*SItracer(i,j,bi,bj,iTr)  | 
         DIAGarray(I,J,5+(iTr-1)*5) = HEFFpost*SItracer(i,j,bi,bj,iTr) | 
| 137 | 
      &  +SItrBucket(i,j,bi,bj,iTr)-DIAGarray(I,J,5+(iTr-1)*5) | 
      &  +SItrBucket(i,j,bi,bj,iTr)-DIAGarray(I,J,5+(iTr-1)*5) | 
| 138 | 
 #endif | 
 #endif | 
| 139 | 
        ENDDO | 
        ENDDO | 
| 142 | 
       else | 
       else | 
| 143 | 
 c 1) or seaice cover expansion | 
 c 1) or seaice cover expansion | 
| 144 | 
 c ============================ | 
 c ============================ | 
| 145 | 
 c this is much simpler than for ice volume/mass tracers, because  | 
 c this is much simpler than for ice volume/mass tracers, because | 
| 146 | 
 c properties of the ice surface are not be conserved across the  | 
 c properties of the ice surface are not be conserved across the | 
| 147 | 
 c ocean-ice system, the contraction/expansion terms are all | 
 c ocean-ice system, the contraction/expansion terms are all | 
| 148 | 
 c simultaneous (which is sane), and the only generic effect  | 
 c simultaneous (which is sane), and the only generic effect | 
| 149 | 
 c is due to expansion (new cover). | 
 c is due to expansion (new cover). | 
| 150 | 
       DO J=1,sNy | 
       DO J=1,sNy | 
| 151 | 
        DO I=1,sNx | 
        DO I=1,sNx | 
| 272 | 
 #endif | 
 #endif | 
| 273 | 
       ENDDO | 
       ENDDO | 
| 274 | 
 #ifdef ALLOW_SITRACER_DEBUG_DIAG | 
 #ifdef ALLOW_SITRACER_DEBUG_DIAG | 
| 275 | 
       CALL DIAGNOSTICS_FILL(DIAGarray,'UDIAG1  ',0,Nr,3,bi,bj,myThid) | 
 c     CALL DIAGNOSTICS_FILL(DIAGarray,'UDIAG1  ',0,Nr,3,bi,bj,myThid) | 
| 276 | 
 #endif | 
 #endif | 
| 277 | 
       ENDDO | 
       ENDDO | 
| 278 | 
       ENDDO | 
       ENDDO |