116 |
act3 = myThid - 1 |
act3 = myThid - 1 |
117 |
max3 = nTx*nTy |
max3 = nTx*nTy |
118 |
act4 = ikey_dynamics - 1 |
act4 = ikey_dynamics - 1 |
119 |
iicekey = (act1 + 1) + act2*max1 |
ticekey = (act1 + 1) + act2*max1 |
120 |
& + act3*max1*max2 |
& + act3*max1*max2 |
121 |
& + act4*max1*max2*max3 |
& + act4*max1*max2*max3 |
122 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
168 |
|
|
169 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
170 |
CADJ STORE iceHeight(:,:,bi,bj) |
CADJ STORE iceHeight(:,:,bi,bj) |
171 |
CADJ & = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ & = comlev1_bibj, key=ticekey, byte=isbyte |
172 |
CADJ STORE snowHeight(:,:,bi,bj) |
CADJ STORE snowHeight(:,:,bi,bj) |
173 |
CADJ & = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ & = comlev1_bibj, key=ticekey, byte=isbyte |
174 |
#endif |
#endif |
175 |
IF ( thSIce_diffK .GT. 0. ) THEN |
IF ( thSIce_diffK .GT. 0. ) THEN |
176 |
CALL THSICE_DIFFUSION( |
CALL THSICE_DIFFUSION( |
202 |
ENDDO |
ENDDO |
203 |
ENDDO |
ENDDO |
204 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
205 |
CADJ STORE icevol(:,:) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE icevol(:,:) = comlev1_bibj, key=ticekey, byte=isbyte |
206 |
CADJ STORE utrice(:,:) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE utrice(:,:) = comlev1_bibj, key=ticekey, byte=isbyte |
207 |
CADJ STORE vtrice(:,:) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE vtrice(:,:) = comlev1_bibj, key=ticekey, byte=isbyte |
208 |
#endif |
#endif |
209 |
CALL THSICE_ADVECTION( |
CALL THSICE_ADVECTION( |
210 |
I GAD_SI_FRAC, thSIceAdvScheme, .TRUE., |
I GAD_SI_FRAC, thSIceAdvScheme, .TRUE., |
227 |
I bi, bj, myTime, myIter, myThid ) |
I bi, bj, myTime, myIter, myThid ) |
228 |
|
|
229 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
230 |
CADJ STORE iceHeight(:,:,bi,bj) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE iceHeight(:,:,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte |
231 |
CADJ STORE iceMask(:,:,bi,bj) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE iceMask(:,:,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte |
232 |
#endif |
#endif |
233 |
C-- sea-ice Thickness |
C-- sea-ice Thickness |
234 |
DO j=1-Oly,sNy+Oly |
DO j=1-Oly,sNy+Oly |
245 |
I bi, bj, myTime, myIter, myThid ) |
I bi, bj, myTime, myIter, myThid ) |
246 |
|
|
247 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
248 |
CADJ STORE qice2(:,:,bi,bj) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE qice2(:,:,bi,bj) = comlev1_bibj, key=ticekey, byte=isbyte |
249 |
CADJ STORE utrice(:,:) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE utrice(:,:) = comlev1_bibj, key=ticekey, byte=isbyte |
250 |
CADJ STORE vtrice(:,:) = comlev1_bibj, key=iicekey, byte=isbyte |
CADJ STORE vtrice(:,:) = comlev1_bibj, key=ticekey, byte=isbyte |
251 |
#endif |
#endif |
252 |
|
|
253 |
#ifdef ALLOW_DBUG_THSICE |
#ifdef ALLOW_DBUG_THSICE |
407 |
|
|
408 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
409 |
CADJ STORE iceHeight(:,:,bi,bj) = |
CADJ STORE iceHeight(:,:,bi,bj) = |
410 |
CADJ & comlev1_bibj, key=iicekey, byte=isbyte |
CADJ & comlev1_bibj, key=ticekey, byte=isbyte |
411 |
CADJ STORE snowHeight(:,:,bi,bj) = |
CADJ STORE snowHeight(:,:,bi,bj) = |
412 |
CADJ & comlev1_bibj, key=iicekey, byte=isbyte |
CADJ & comlev1_bibj, key=ticekey, byte=isbyte |
413 |
CADJ STORE iceFrc(:,:) = |
CADJ STORE iceFrc(:,:) = |
414 |
CADJ & comlev1_bibj, key=iicekey, byte=isbyte |
CADJ & comlev1_bibj, key=ticekey, byte=isbyte |
415 |
#endif |
#endif |
416 |
|
|
417 |
C-- Update Ice Fraction: ensure that fraction is > iceMaskMin & < 1 |
C-- Update Ice Fraction: ensure that fraction is > iceMaskMin & < 1 |