| 76 | 
       _RL     JFNKgamma_lin | 
       _RL     JFNKgamma_lin | 
| 77 | 
       _RL     FGMRESeps | 
       _RL     FGMRESeps | 
| 78 | 
       _RL     JFNKtol | 
       _RL     JFNKtol | 
| 79 | 
 C     Adams-Bashforth extrapolation factors | 
 C     backward differences extrapolation factors | 
| 80 | 
       _RL abFac, abAlpha | 
       _RL bdfFac, bdfAlpha | 
| 81 | 
 C | 
 C | 
| 82 | 
       _RL     recip_deltaT | 
       _RL     recip_deltaT | 
| 83 | 
       LOGICAL JFNKconverged, krylovConverged | 
       LOGICAL JFNKconverged, krylovConverged | 
| 87 | 
 C     u/vIceRes :: residual of sea-ice momentum equations | 
 C     u/vIceRes :: residual of sea-ice momentum equations | 
| 88 | 
       _RL uIceRes(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) | 
       _RL uIceRes(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) | 
| 89 | 
       _RL vIceRes(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) | 
       _RL vIceRes(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) | 
| 90 | 
 C     extra time level required for Adams-Bashforth-2 time stepping | 
 C     extra time level required for backward difference time stepping | 
| 91 | 
       _RL duIcNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) | 
       _RL duIcNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) | 
| 92 | 
       _RL dvIcNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) | 
       _RL dvIcNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) | 
| 93 | 
 C     du/vIce   :: ice velocity increment to be added to u/vIce | 
 C     du/vIce   :: ice velocity increment to be added to u/vIce | 
| 118 | 
      &     DIFFERENT_MULTIPLE( SEAICE_monFreq, myTime, deltaTClock ) ) | 
      &     DIFFERENT_MULTIPLE( SEAICE_monFreq, myTime, deltaTClock ) ) | 
| 119 | 
      &     iOutFGMRES=1 | 
      &     iOutFGMRES=1 | 
| 120 | 
  | 
  | 
| 121 | 
 C     Adams-Bashforth extrapolation factors | 
 C     backward difference extrapolation factors | 
| 122 | 
       abFac = 0. _d 0 | 
       bdfFac = 0. _d 0 | 
| 123 | 
       IF ( SEAICEuseAB2 ) THEN | 
       IF ( SEAICEuseBDF2 ) THEN | 
| 124 | 
        IF ( myIter.EQ.nIter0 .AND. SEAICEmomStartAB.EQ.0 ) THEN | 
        IF ( myIter.EQ.nIter0 .AND. SEAICEmomStartBDF.EQ.0 ) THEN | 
| 125 | 
         abFac = 0. _d 0 | 
         bdfFac = 0. _d 0 | 
| 126 | 
        ELSE | 
        ELSE | 
| 127 | 
         abFac = 0.5 _d 0 + SEAICE_abEps | 
         bdfFac = 0.5 _d 0 | 
| 128 | 
        ENDIF | 
        ENDIF | 
| 129 | 
       ENDIF | 
       ENDIF | 
| 130 | 
       abAlpha = 1. _d 0 + abFac  | 
       bdfAlpha = 1. _d 0 + bdfFac  | 
| 131 | 
  | 
  | 
| 132 | 
       DO bj=myByLo(myThid),myByHi(myThid) | 
       DO bj=myByLo(myThid),myByHi(myThid) | 
| 133 | 
        DO bi=myBxLo(myThid),myBxHi(myThid) | 
        DO bi=myBxLo(myThid),myBxHi(myThid) | 
| 142 | 
 C     cycle ice velocities | 
 C     cycle ice velocities | 
| 143 | 
         DO J=1-OLy,sNy+OLy | 
         DO J=1-OLy,sNy+OLy | 
| 144 | 
          DO I=1-OLx,sNx+OLx | 
          DO I=1-OLx,sNx+OLx | 
| 145 | 
           duIcNm1(I,J,bi,bj) = uIce(I,J,bi,bj) * abAlpha  | 
           duIcNm1(I,J,bi,bj) = uIce(I,J,bi,bj) * bdfAlpha  | 
| 146 | 
      &         + ( uIce(I,J,bi,bj) - uIceNm1(I,J,bi,bj) ) * abFac | 
      &         + ( uIce(I,J,bi,bj) - uIceNm1(I,J,bi,bj) ) * bdfFac | 
| 147 | 
           dvIcNm1(I,J,bi,bj) = vIce(I,J,bi,bj) * abAlpha  | 
           dvIcNm1(I,J,bi,bj) = vIce(I,J,bi,bj) * bdfAlpha  | 
| 148 | 
      &         + ( vIce(I,J,bi,bj) - vIceNm1(I,J,bi,bj) ) * abFac | 
      &         + ( vIce(I,J,bi,bj) - vIceNm1(I,J,bi,bj) ) * bdfFac | 
| 149 | 
           uIceNm1(I,J,bi,bj) = uIce(I,J,bi,bj) | 
           uIceNm1(I,J,bi,bj) = uIce(I,J,bi,bj) | 
| 150 | 
           vIceNm1(I,J,bi,bj) = vIce(I,J,bi,bj) | 
           vIceNm1(I,J,bi,bj) = vIce(I,J,bi,bj) | 
| 151 | 
          ENDDO | 
          ENDDO |