89 |
sumPhi=2*phiTile(1,1) |
sumPhi=2*phiTile(1,1) |
90 |
end subroutine |
end subroutine |
91 |
C ########################################################### |
C ########################################################### |
92 |
|
#ifndef ALLOW_STREAMICE |
93 |
SUBROUTINE CG2D( |
SUBROUTINE CG2D( |
94 |
I cg2d_b, |
I cg2d_b, |
95 |
U cg2d_x, |
U cg2d_x, |
115 |
C dummy self dependence (nontrivial so mfef90 doesn't kill it) |
C dummy self dependence (nontrivial so mfef90 doesn't kill it) |
116 |
cg2d_x(1,1,1,1)=2*cg2d_b(1,1,1,1) |
cg2d_x(1,1,1,1)=2*cg2d_b(1,1,1,1) |
117 |
end subroutine |
end subroutine |
118 |
|
#endif |
119 |
|
C ########################################################### |
120 |
|
#ifdef ALLOW_STREAMICE |
121 |
|
SUBROUTINE STREAMICE_CG_SOLVE( |
122 |
|
U cg_Uin, ! x-velocities |
123 |
|
U cg_Vin, ! y-velocities |
124 |
|
I cg_Bu, ! force in x dir |
125 |
|
I cg_Bv, ! force in y dir |
126 |
|
I A_uu, ! section of matrix that multiplies u and projects on u |
127 |
|
I A_uv, ! section of matrix that multiplies v and projects on u |
128 |
|
I A_vu, ! section of matrix that multiplies u and projects on v |
129 |
|
I A_vv, ! section of matrix that multiplies v and projects on v |
130 |
|
I tolerance, |
131 |
|
O iters, |
132 |
|
I maxiter, |
133 |
|
I myThid ) |
134 |
|
IMPLICIT NONE |
135 |
|
|
136 |
|
#include "SIZE.h" |
137 |
|
#include "EEPARAMS.h" |
138 |
|
#include "PARAMS.h" |
139 |
|
#include "STREAMICE.h" |
140 |
|
#include "STREAMICE_CG.h" |
141 |
|
INTEGER myThid |
142 |
|
INTEGER iters |
143 |
|
INTEGER maxiter |
144 |
|
_RL tolerance |
145 |
|
_RL cg_Uin (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
146 |
|
_RL cg_Vin (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
147 |
|
_RL cg_Bu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
148 |
|
_RL cg_Bv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
149 |
|
_RL |
150 |
|
& A_uu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy,-1:1,-1:1), |
151 |
|
& A_vu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy,-1:1,-1:1), |
152 |
|
& A_uv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy,-1:1,-1:1), |
153 |
|
& A_vv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy,-1:1,-1:1) |
154 |
|
|
155 |
|
cg_Uin(1,1,1,1) = A_uu(1,1,1,1,1,1) + A_uv(1,1,1,1,1,1) + |
156 |
|
& A_vu(1,1,1,1,1,1) + A_vv(1,1,1,1,1,1) + cg_Bu(1,1,1,1) |
157 |
|
|
158 |
|
cg_Vin(1,1,1,1) = A_uu(1,1,1,1,1,1) + A_uv(1,1,1,1,1,1) + |
159 |
|
& A_vu(1,1,1,1,1,1) + A_vv(1,1,1,1,1,1) + cg_Bv(1,1,1,1) |
160 |
|
|
161 |
|
end subroutine |
162 |
|
#endif /* ALLOW_STREAMICE */ |
163 |
C ########################################################### |
C ########################################################### |
164 |
subroutine active_read_xy( |
subroutine active_read_xy( |
165 |
I active_var_file, |
I active_var_file, |
189 |
dummy = active_var(1,1,1,1) + dummy |
dummy = active_var(1,1,1,1) + dummy |
190 |
#endif /* ALLOW_OPENAD_ACTIVE_FILE */ |
#endif /* ALLOW_OPENAD_ACTIVE_FILE */ |
191 |
end subroutine |
end subroutine |
192 |
|
C ########################################################### |
193 |
|
|