78 |
INTEGER itmpkey |
INTEGER itmpkey |
79 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
80 |
#ifdef ALLOW_SITRACER |
#ifdef ALLOW_SITRACER |
|
# ifndef SEAICE_GROWTH_LEGACY |
|
81 |
_RL hEffNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL hEffNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
82 |
_RL areaNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL areaNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
|
# endif /* ndef SEAICE_GROWTH_LEGACY */ |
|
83 |
INTEGER iTr, SEAICEadvSchSItr |
INTEGER iTr, SEAICEadvSchSItr |
84 |
_RL SEAICEdiffKhSItr |
_RL SEAICEdiffKhSItr |
85 |
_RL SItrExt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL SItrExt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
192 |
CADJ & key = itmpkey, kind=isbyte |
CADJ & key = itmpkey, kind=isbyte |
193 |
CADJ STORE hsnow(:,:,bi,bj) = comlev1_bibj, |
CADJ STORE hsnow(:,:,bi,bj) = comlev1_bibj, |
194 |
CADJ & key = itmpkey, kind=isbyte |
CADJ & key = itmpkey, kind=isbyte |
195 |
|
# ifdef SEAICE_VARIABLE_SALINITY |
196 |
|
CADJ STORE hsalt(:,:,bi,bj) = comlev1_bibj, |
197 |
|
CADJ & key = itmpkey, kind=isbyte |
198 |
|
# endif |
199 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
200 |
|
|
201 |
DO j=1-OLy,sNy+OLy |
DO j=1-OLy,sNy+OLy |
202 |
DO i=1-OLx,sNx+OLx |
DO i=1-OLx,sNx+OLx |
203 |
#if ( defined (SEAICE_GROWTH_LEGACY) || defined (ALLOW_SITRACER) ) |
#ifdef ALLOW_SITRACER |
204 |
hEffNm1(i,j,bi,bj) = HEFF(i,j,bi,bj) |
hEffNm1(i,j,bi,bj) = HEFF(i,j,bi,bj) |
205 |
areaNm1(i,j,bi,bj) = AREA(i,j,bi,bj) |
areaNm1(i,j,bi,bj) = AREA(i,j,bi,bj) |
206 |
#endif |
#endif |
535 |
ELSE |
ELSE |
536 |
C-- if not multiDimAdvection |
C-- if not multiDimAdvection |
537 |
|
|
|
Cold This has to be done to comply with the time stepping in advect.F: |
|
|
Cold Making sure that the following routines see the different |
|
|
Cold time levels correctly |
|
|
Cold At the end of the routine ADVECT, |
|
|
Cold timelevel 1 is updated with advection contribution |
|
|
Cold and diffusion contribution |
|
|
Cold (which was computed in DIFFUS on timelevel 3) |
|
|
Cold timelevel 2 is the previous timelevel 1 |
|
|
Cold timelevel 3 is the total diffusion tendency * deltaT |
|
|
Cold (empty if no diffusion) |
|
|
C-- This is what remains from old 3-level storage of AREA & HEFF: still |
|
|
C needed for SEAICE_GROWTH, Legacy branch. Left old comments here above. |
|
|
#ifdef SEAICE_GROWTH_LEGACY |
|
|
DO bj=myByLo(myThid),myByHi(myThid) |
|
|
DO bi=myBxLo(myThid),myBxHi(myThid) |
|
|
DO j=1-OLy,sNy+OLy |
|
|
DO i=1-OLx,sNx+OLx |
|
|
hEffNm1(i,j,bi,bj) = HEFF(i,j,bi,bj) |
|
|
areaNm1(i,j,bi,bj) = AREA(i,j,bi,bj) |
|
|
ENDDO |
|
|
ENDDO |
|
|
ENDDO |
|
|
ENDDO |
|
|
#endif |
|
|
|
|
538 |
IF ( SEAICEadvHEff ) THEN |
IF ( SEAICEadvHEff ) THEN |
539 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
540 |
CADJ STORE heff = comlev1, key = ikey_dynamics, kind=isbyte |
CADJ STORE heff = comlev1, key = ikey_dynamics, kind=isbyte |