| 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 |