77 |
_RL dot_p1_tile (nSx,nSy) |
_RL dot_p1_tile (nSx,nSy) |
78 |
_RL dot_p2_tile (nSx,nSy) |
_RL dot_p2_tile (nSx,nSy) |
79 |
_RL ad_tolerance |
_RL ad_tolerance |
80 |
|
CHARACTER*(MAX_LEN_MBUF) msgBuf |
81 |
|
|
82 |
! iters = streamice_max_cg_iter |
! iters = streamice_max_cg_iter |
83 |
|
|
84 |
#ifdef ALLOW_STREAMICE |
#ifdef ALLOW_STREAMICE |
85 |
|
|
86 |
|
WRITE(msgBuf,'(A)') 'CALLING MANUAL CG ADJOINT' |
87 |
PRINT *, "CALLING MANUAL CG ADJOINT" |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
88 |
|
& SQUEEZE_RIGHT , 1) |
89 |
|
|
90 |
|
|
91 |
conv_flag = 0 |
conv_flag = 0 |
92 |
ad_tolerance = 1.e-14 |
ad_tolerance = 1.e-14 |
108 |
ENDDO |
ENDDO |
109 |
ENDDO |
ENDDO |
110 |
|
|
111 |
|
|
112 |
|
|
113 |
CALL STREAMICE_CG_SOLVE( |
CALL STREAMICE_CG_SOLVE( |
114 |
& U_state, |
& U_state, |
115 |
& V_state, |
& V_state, |
125 |
|
|
126 |
tmpiter = 0 |
tmpiter = 0 |
127 |
|
|
128 |
|
_EXCH_XY_RL( cg_Bu, myThid ) |
129 |
|
_EXCH_XY_RL( cg_Bv, myThid ) |
130 |
|
|
131 |
CALL STREAMICE_CG_SOLVE( |
CALL STREAMICE_CG_SOLVE( |
132 |
& cg_Uin, |
& cg_Uin, |
133 |
& cg_Vin, |
& cg_Vin, |
141 |
& tmpiter, |
& tmpiter, |
142 |
& myThid ) |
& myThid ) |
143 |
|
|
144 |
|
_EXCH_XY_RL( cg_Uin, myThid ) |
145 |
|
_EXCH_XY_RL( cg_Vin, myThid ) |
146 |
|
_EXCH_XY_RL( U_state, myThid ) |
147 |
|
_EXCH_XY_RL( V_state, myThid ) |
148 |
|
|
149 |
! DO bj = myByLo(myThid), myByHi(myThid) |
! DO bj = myByLo(myThid), myByHi(myThid) |
150 |
! DO bi = myBxLo(myThid), myBxHi(myThid) |
! DO bi = myBxLo(myThid), myBxHi(myThid) |
151 |
! DO j=1,sNy |
! DO j=1,sNy |
647 |
ENDDO |
ENDDO |
648 |
ENDDO |
ENDDO |
649 |
|
|
|
|
|
650 |
|
|
651 |
PRINT *, "DONE WITH MANUAL CG ADJOINT:",tmpiter,"ITERS" |
WRITE(msgBuf,'(A,I5,A)') 'DONE WITH MANUAL CG ADJOINT:',tmpiter, |
652 |
|
& 'ITERS' |
653 |
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
654 |
|
& SQUEEZE_RIGHT , 1) |
655 |
|
|
656 |
|
|
657 |
#endif |
#endif |
658 |
RETURN |
RETURN |