| 11 |
U cg_Vin, |
U cg_Vin, |
| 12 |
I cg_Bu, |
I cg_Bu, |
| 13 |
I cg_Bv, |
I cg_Bv, |
|
I myThid, |
|
| 14 |
I tolerance, |
I tolerance, |
| 15 |
O iters ) |
O iters, |
| 16 |
|
I myThid ) |
| 17 |
C /============================================================\ |
C /============================================================\ |
| 18 |
C | SUBROUTINE | |
C | SUBROUTINE | |
| 19 |
C | o | |
C | o | |
| 200 |
|
|
| 201 |
print *, "BEGINNING MAIN CG LOOP" |
print *, "BEGINNING MAIN CG LOOP" |
| 202 |
|
|
| 203 |
IF(STREAMICE_construct_matrix) CALL STREAMICE_CG_MAKE_A(myThid) |
! IF(STREAMICE_construct_matrix) CALL STREAMICE_CG_MAKE_A(myThid) |
| 204 |
|
#ifdef STREAMICE_CONSTRUCT_MATRIX |
| 205 |
|
|
| 206 |
|
CALL STREAMICE_CG_MAKE_A(myThid) |
| 207 |
|
|
| 208 |
|
#endif |
| 209 |
|
|
| 210 |
do iter = 1, streamice_max_cg_iter |
do iter = 1, streamice_max_cg_iter |
| 211 |
if (resid .gt. tolerance*resid_0) then |
if (resid .gt. tolerance*resid_0) then |
| 231 |
ENDDO |
ENDDO |
| 232 |
ENDDO |
ENDDO |
| 233 |
|
|
| 234 |
IF (STREAMICE_construct_matrix) THEN |
! IF (STREAMICE_construct_matrix) THEN |
| 235 |
|
|
| 236 |
|
#ifdef STREAMICE_CONSTRUCT_MATRIX |
| 237 |
|
|
| 238 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
| 239 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
| 240 |
DO j=js,je |
DO j=js,je |
| 258 |
ENDDO |
ENDDO |
| 259 |
ENDDO |
ENDDO |
| 260 |
|
|
| 261 |
else |
! else |
| 262 |
|
#else |
| 263 |
|
|
| 264 |
CALL STREAMICE_CG_ACTION( myThid, |
CALL STREAMICE_CG_ACTION( myThid, |
| 265 |
O Au_SI, |
O Au_SI, |
| 268 |
I Dv_SI, |
I Dv_SI, |
| 269 |
I is,ie,js,je) |
I is,ie,js,je) |
| 270 |
|
|
| 271 |
ENDIF |
! ENDIF |
| 272 |
|
|
| 273 |
|
#endif |
| 274 |
|
|
| 275 |
! ! if (iter.eq.1) then |
! ! if (iter.eq.1) then |
| 276 |
! ! CALL WRITE_FLD_XY_RL ("Au2","",Au_SI,0,myThid) |
! ! CALL WRITE_FLD_XY_RL ("Au2","",Au_SI,0,myThid) |