| 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 |