| 19 | 
 #include "FFIELDS.h" | 
 #include "FFIELDS.h" | 
| 20 | 
 #include "SEAICE.h" | 
 #include "SEAICE.h" | 
| 21 | 
 #include "SEAICE_FFIELDS.h" | 
 #include "SEAICE_FFIELDS.h" | 
| 22 | 
  | 
  | 
| 23 | 
  | 
 #ifdef ALLOW_AUTODIFF_TAMC | 
| 24 | 
  | 
 # include "tamc.h" | 
| 25 | 
  | 
 #endif | 
| 26 | 
  | 
  | 
| 27 | 
        COMMON /SEAICE_BOUND_RL/ | 
        COMMON /SEAICE_BOUND_RL/ | 
| 28 | 
      &    MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE, | 
      &    MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE, | 
| 29 | 
      &    SEAICE_EPS, SEAICE_EPS_SQ | 
      &    SEAICE_EPS, SEAICE_EPS_SQ | 
| 58 | 
       _EXCH_XY_R8(UWIND, myThid) | 
       _EXCH_XY_R8(UWIND, myThid) | 
| 59 | 
       _EXCH_XY_R8(VWIND, myThid) | 
       _EXCH_XY_R8(VWIND, myThid) | 
| 60 | 
  | 
  | 
| 61 | 
 c$taf loop = parallel | 
 CADJ loop = parallel | 
| 62 | 
       DO bj=myByLo(myThid),myByHi(myThid) | 
       DO bj=myByLo(myThid),myByHi(myThid) | 
| 63 | 
 c$taf loop = parallel | 
 CADJ loop = parallel | 
| 64 | 
        DO bi=myBxLo(myThid),myBxHi(myThid) | 
        DO bi=myBxLo(myThid),myBxHi(myThid) | 
| 65 | 
  | 
 cph( | 
| 66 | 
  | 
 #ifdef ALLOW_AUTODIFF_TAMC | 
| 67 | 
  | 
           act1 = bi - myBxLo(myThid) | 
| 68 | 
  | 
           max1 = myBxHi(myThid) - myBxLo(myThid) + 1 | 
| 69 | 
  | 
           act2 = bj - myByLo(myThid) | 
| 70 | 
  | 
           max2 = myByHi(myThid) - myByLo(myThid) + 1 | 
| 71 | 
  | 
           act3 = myThid - 1 | 
| 72 | 
  | 
           max3 = nTx*nTy | 
| 73 | 
  | 
           act4 = ikey_dynamics - 1 | 
| 74 | 
  | 
           iicekey = (act1 + 1) + act2*max1 | 
| 75 | 
  | 
      &                      + act3*max1*max2 | 
| 76 | 
  | 
      &                      + act4*max1*max2*max3 | 
| 77 | 
  | 
 #endif /* ALLOW_AUTODIFF_TAMC */ | 
| 78 | 
  | 
 c | 
| 79 | 
  | 
 #ifdef ALLOW_AUTODIFF_TAMC | 
| 80 | 
  | 
 CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,  | 
| 81 | 
  | 
 CADJ &                         key = iicekey, byte = isbyte | 
| 82 | 
  | 
 #endif /* ALLOW_AUTODIFF_TAMC */ | 
| 83 | 
  | 
 cph) | 
| 84 | 
  | 
  | 
| 85 | 
 C DETERMINE AMOUNT OF OPEN WATER AND ICE THICKNESS | 
 C DETERMINE AMOUNT OF OPEN WATER AND ICE THICKNESS | 
| 86 | 
         DO J=1,sNy | 
         DO J=1,sNy | 
| 90 | 
 #ifdef SEAICE_MULTILEVEL | 
 #ifdef SEAICE_MULTILEVEL | 
| 91 | 
           FICEP(I,J)=0.0 _d 0 | 
           FICEP(I,J)=0.0 _d 0 | 
| 92 | 
 #endif | 
 #endif | 
| 93 | 
  | 
          ENDDO | 
| 94 | 
  | 
         ENDDO | 
| 95 | 
  | 
 #ifdef ALLOW_AUTODIFF_TAMC | 
| 96 | 
  | 
 CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,  | 
| 97 | 
  | 
 CADJ &                         key = iicekey, byte = isbyte | 
| 98 | 
  | 
 #endif /* ALLOW_AUTODIFF_TAMC */ | 
| 99 | 
  | 
         DO J=1,sNy | 
| 100 | 
  | 
          DO I=1,sNx | 
| 101 | 
           HICE(I,J)=HEFF(I,J,2,bi,bj)/AREA(I,J,2,bi,bj) | 
           HICE(I,J)=HEFF(I,J,2,bi,bj)/AREA(I,J,2,bi,bj) | 
| 102 | 
          ENDDO | 
          ENDDO | 
| 103 | 
         ENDDO | 
         ENDDO | 
| 127 | 
          ENDDO | 
          ENDDO | 
| 128 | 
         ENDDO | 
         ENDDO | 
| 129 | 
  | 
  | 
| 130 | 
  | 
 #ifdef ALLOW_AUTODIFF_TAMC | 
| 131 | 
  | 
 CADJ STORE atemp(:,:,bi,bj)  = comlev1_bibj,  | 
| 132 | 
  | 
 CADJ &                           key = iicekey, byte = isbyte | 
| 133 | 
  | 
 CADJ STORE lwdown(:,:,bi,bj) = comlev1_bibj,  | 
| 134 | 
  | 
 CADJ &                           key = iicekey, byte = isbyte | 
| 135 | 
  | 
 #endif /* ALLOW_AUTODIFF_TAMC */ | 
| 136 | 
 C NOW DETERMINE GROWTH RATES | 
 C NOW DETERMINE GROWTH RATES | 
| 137 | 
 C FIRST DO OPEN WATER | 
 C FIRST DO OPEN WATER | 
| 138 | 
         KOPEN=-1 | 
         KOPEN=-1 | 
| 139 | 
         CALL BUDGET(UG, TMIX, HICE, FO, KOPEN, bi, bj) | 
         CALL BUDGET(UG, TMIX, HICE, FO, KOPEN, bi, bj) | 
| 140 | 
  | 
  | 
| 141 | 
  | 
 #ifdef ALLOW_AUTODIFF_TAMC | 
| 142 | 
  | 
 CADJ STORE atemp(:,:,bi,bj)  = comlev1_bibj,  | 
| 143 | 
  | 
 CADJ &                           key = iicekey, byte = isbyte | 
| 144 | 
  | 
 CADJ STORE lwdown(:,:,bi,bj) = comlev1_bibj,  | 
| 145 | 
  | 
 CADJ &                           key = iicekey, byte = isbyte | 
| 146 | 
  | 
 #endif /* ALLOW_AUTODIFF_TAMC */ | 
| 147 | 
 C NOW DO ICE | 
 C NOW DO ICE | 
| 148 | 
         KOPEN=1 | 
         KOPEN=1 | 
| 149 | 
 #ifdef SEAICE_MULTILEVEL | 
 #ifdef SEAICE_MULTILEVEL |