31 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
32 |
#include "THSICE_SIZE.h" |
#include "THSICE_SIZE.h" |
33 |
#include "THSICE_PARAMS.h" |
#include "THSICE_PARAMS.h" |
34 |
|
#ifdef ALLOW_AUTODIFF_TAMC |
35 |
|
# include "SIZE.h" |
36 |
|
# include "tamc.h" |
37 |
|
# include "tamc_keys.h" |
38 |
|
#endif |
39 |
|
|
40 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
41 |
C == Routine Arguments == |
C == Routine Arguments == |
118 |
1020 FORMAT(A,1P4E11.3) |
1020 FORMAT(A,1P4E11.3) |
119 |
|
|
120 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
|
deltaTice = thSIce_deltaT |
|
121 |
|
|
122 |
|
#ifdef ALLOW_AUTODIFF_TAMC |
123 |
|
act1 = bi - myBxLo(myThid) |
124 |
|
max1 = myBxHi(myThid) - myBxLo(myThid) + 1 |
125 |
|
act2 = bj - myByLo(myThid) |
126 |
|
max2 = myByHi(myThid) - myByLo(myThid) + 1 |
127 |
|
act3 = myThid - 1 |
128 |
|
max3 = nTx*nTy |
129 |
|
act4 = ikey_dynamics - 1 |
130 |
|
#endif /* ALLOW_AUTODIFF_TAMC */ |
131 |
|
|
132 |
|
deltaTice = thSIce_deltaT |
133 |
|
|
134 |
DO j = jMin, jMax |
DO j = jMin, jMax |
135 |
DO i = iMin, iMax |
DO i = iMin, iMax |
136 |
|
#ifdef ALLOW_AUTODIFF_TAMC |
137 |
|
ikey_1 = i |
138 |
|
& + sNx*(j-1) |
139 |
|
& + sNx*sNy*act1 |
140 |
|
& + sNx*sNy*max1*act2 |
141 |
|
& + sNx*sNy*max1*max2*act3 |
142 |
|
& + sNx*sNy*max1*max2*max3*act4 |
143 |
|
#endif /* ALLOW_AUTODIFF_TAMC */ |
144 |
|
C-- |
145 |
|
#ifdef ALLOW_AUTODIFF_TAMC |
146 |
|
CADJ STORE hice(i,j) = comlev1_thsice_1, key=ikey_1 |
147 |
|
CADJ STORE hsnow(i,j) = comlev1_thsice_1, key=ikey_1 |
148 |
|
CADJ STORE icfrac(i,j) = comlev1_thsice_1, key=ikey_1 |
149 |
|
CADJ STORE qic1(i,j) = comlev1_thsice_1, key=ikey_1 |
150 |
|
CADJ STORE qic2(i,j) = comlev1_thsice_1, key=ikey_1 |
151 |
|
#endif |
152 |
|
|
153 |
IF (fzMlOc(i,j).GT.0. _d 0) THEN |
IF (fzMlOc(i,j).GT.0. _d 0) THEN |
154 |
esurp = fzMlOc(i,j) |
esurp = fzMlOc(i,j) |
155 |
Tf = tFrz(i,j) |
Tf = tFrz(i,j) |