17 |
#include "SIZE.h" |
#include "SIZE.h" |
18 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
19 |
#include "PARAMS.h" |
#include "PARAMS.h" |
20 |
|
#include "GRID.h" |
21 |
#include "FFIELDS.h" |
#include "FFIELDS.h" |
22 |
#include "SEAICE.h" |
#include "SEAICE.h" |
23 |
#include "SEAICE_GRID.h" |
CML#include "SEAICE_GRID.h" |
24 |
#include "SEAICE_PARAMS.h" |
#include "SEAICE_PARAMS.h" |
25 |
#include "SEAICE_FFIELDS.h" |
#include "SEAICE_FFIELDS.h" |
26 |
|
|
63 |
RHOAIR=1.3 _d 0 |
RHOAIR=1.3 _d 0 |
64 |
ECCEN=TWO |
ECCEN=TWO |
65 |
ECM2=ONE/(ECCEN**2) |
ECM2=ONE/(ECCEN**2) |
66 |
|
RADIUS=rSphere |
67 |
RADIUS=6370. _d 3 |
RADIUS=6370. _d 3 |
68 |
PSTAR=SEAICE_strength |
PSTAR=SEAICE_strength |
69 |
|
|
84 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
DO bi=myBxLo(myThid),myBxHi(myThid) |
85 |
DO j=1,sNy |
DO j=1,sNy |
86 |
DO i=1,sNx |
DO i=1,sNx |
87 |
AMASS(I,J,bi,bj)=RHOICE*QUART*(HEFF(i,j,1,bi,bj) |
AMASS(I,J,bi,bj)=RHOICE*QUART*( |
88 |
& +HEFF(i-1,j,1,bi,bj) |
& HEFF(i,j ,1,bi,bj) + HEFF(i-1,j ,1,bi,bj) |
89 |
& +HEFF(i,j-1,1,bi,bj) |
& +HEFF(i,j-1,1,bi,bj) + HEFF(i-1,j-1,1,bi,bj) ) |
90 |
& +HEFF(i-1,j-1,1,bi,bj)) |
COR_ICE(I,J,bi,bj)=AMASS(I,J,bi,bj) * _fCoriG(I,J,bi,bj) |
|
COR_ICE(I,J,bi,bj)=AMASS(I,J,bi,bj) |
|
|
& *TWO*OMEGA*SINEICE(I,J,bi,bj) |
|
91 |
ENDDO |
ENDDO |
92 |
ENDDO |
ENDDO |
93 |
ENDDO |
ENDDO |
185 |
DO j=1,sNy |
DO j=1,sNy |
186 |
DO i=1,sNx |
DO i=1,sNx |
187 |
C NOW EVALUATE STRAIN RATES |
C NOW EVALUATE STRAIN RATES |
188 |
E11(I,J,bi,bj)=HALF/(DXTICE(I,J,bi,bj)*CSTICE(I,J,bi,bj)) |
E11(I,J,bi,bj)=HALF* _recip_dxF(I,J,bi,bj) * |
189 |
& *(UICE(I+1,J+1,1,bi,bj)+UICE(I+1,J,1,bi,bj) |
& (UICE(I+1,J+1,1,bi,bj)+UICE(I+1,J,1,bi,bj) |
190 |
& -UICE(I,J+1,1,bi,bj)-UICE(I,J,1,bi,bj)) |
& -UICE(I, J+1,1,bi,bj)-UICE(I, J,1,bi,bj)) |
191 |
& -QUART*(VICE(I+1,J+1,1,bi,bj)+VICE(I,J+1,1,bi,bj) |
& -QUART* |
192 |
& +VICE(I,J,1,bi,bj)+VICE(I+1,J,1,bi,bj)) |
& (VICE(I+1,J+1,1,bi,bj)+VICE(I, J+1,1,bi,bj) |
193 |
& *TNGTICE(I,J,bi,bj)/RADIUS |
& +VICE(I, J, 1,bi,bj)+VICE(I+1,J, 1,bi,bj)) |
194 |
E22(I,J,bi,bj)=HALF/DYTICE(I,J,bi,bj) |
CML & * _tanPhiAtU(I,J,bi,bj)*recip_rSphere |
195 |
& *(VICE(I+1,J+1,1,bi,bj)+VICE(I,J+1,1,bi,bj) |
& * _tanPhiAtU(I,J,bi,bj)/RADIUS |
196 |
& -VICE(I+1,J,1,bi,bj)-VICE(I,J,1,bi,bj)) |
E22(I,J,bi,bj)=HALF* _recip_dyF(I,J,bi,bj) * |
197 |
E12(I,J,bi,bj)=HALF*(HALF/DYTICE(I,J,bi,bj) |
& (VICE(I+1,J+1,1,bi,bj)+VICE(I,J+1,1,bi,bj) |
198 |
& *(UICE(I+1,J+1,1,bi,bj)+UICE(I,J+1,1,bi,bj) |
& -VICE(I+1,J, 1,bi,bj)-VICE(I,J, 1,bi,bj)) |
199 |
& -UICE(I+1,J,1,bi,bj)-UICE(I,J,1,bi,bj)) |
E12(I,J,bi,bj)=HALF*(HALF * _recip_dyF(I,J,bi,bj) * |
200 |
& +HALF/(DXTICE(I,J,bi,bj)*CSTICE(I,J,bi,bj)) |
& (UICE(I+1,J+1,1,bi,bj)+UICE(I,J+1,1,bi,bj) |
201 |
& *(VICE(I+1,J+1,1,bi,bj)+VICE(I+1,J,1,bi,bj) |
& -UICE(I+1,J, 1,bi,bj)-UICE(I,J, 1,bi,bj)) |
202 |
& -VICE(I,J+1,1,bi,bj)-VICE(I,J,1,bi,bj)) |
& +HALF * _recip_dxF(I,J,bi,bj) * |
203 |
& +QUART*(UICE(I+1,J+1,1,bi,bj)+UICE(I,J+1,1,bi,bj) |
& (VICE(I+1,J+1,1,bi,bj)+VICE(I+1,J,1,bi,bj) |
204 |
& +UICE(I,J,1,bi,bj)+UICE(I+1,J,1,bi,bj)) |
& -VICE(I, J+1,1,bi,bj)-VICE(I, J,1,bi,bj)) |
205 |
& *TNGTICE(I,J,bi,bj)/RADIUS) |
& +QUART* |
206 |
|
& (UICE(I+1,J+1,1,bi,bj)+UICE(I, J+1,1,bi,bj) |
207 |
|
& +UICE(I, J, 1,bi,bj)+UICE(I+1,J, 1,bi,bj)) |
208 |
|
CML & * _tanPhiAtU(I,J,bi,bj)*recip_rSphere) |
209 |
|
& * _tanPhiAtU(I,J,bi,bj)/RADIUS) |
210 |
C NOW EVALUATE VISCOSITIES |
C NOW EVALUATE VISCOSITIES |
211 |
DELT1=(E11(I,J,bi,bj)**2+E22(I,J,bi,bj)**2)*(ONE+ECM2) |
DELT1=(E11(I,J,bi,bj)**2+E22(I,J,bi,bj)**2)*(ONE+ECM2) |
212 |
& +4.0 _d 0*ECM2*E12(I,J,bi,bj)**2 |
& +4.0 _d 0*ECM2*E12(I,J,bi,bj)**2 |
259 |
& +COSWAT*GWATY(I,J,bi,bj)) |
& +COSWAT*GWATY(I,J,bi,bj)) |
260 |
C NOW CALCULATE PRESSURE FORCE AND ADD TO EXTERNAL FORCE |
C NOW CALCULATE PRESSURE FORCE AND ADD TO EXTERNAL FORCE |
261 |
FORCEX(I,J,bi,bj)=FORCEX(I,J,bi,bj) |
FORCEX(I,J,bi,bj)=FORCEX(I,J,bi,bj) |
262 |
& -(QUART/(DXUICE(I,J,bi,bj)*CSUICE(I,J,bi,bj))) |
& -QUART * _recip_dxV(I,J,bi,bj) |
263 |
& *(PRESS(I,J,bi,bj)+PRESS(I,J-1,bi,bj) |
& *(PRESS(I, J,bi,bj) + PRESS(I, J-1,bi,bj) |
264 |
& -PRESS(I-1,J,bi,bj)-PRESS(I-1,J-1,bi,bj)) |
& - PRESS(I-1,J,bi,bj) - PRESS(I-1,J-1,bi,bj)) |
265 |
FORCEY(I,J,bi,bj)=FORCEY(I,J,bi,bj)-QUART/DYUICE(I,J,bi,bj) |
FORCEY(I,J,bi,bj)=FORCEY(I,J,bi,bj) |
266 |
& *(PRESS(I,J,bi,bj)+PRESS(I-1,J,bi,bj) |
& -QUART * _recip_dyU(I,J,bi,bj) |
267 |
& -PRESS(I,J-1,bi,bj)-PRESS(I-1,J-1,bi,bj)) |
& *(PRESS(I,J, bi,bj) + PRESS(I-1,J, bi,bj) |
268 |
|
& - PRESS(I,J-1,bi,bj) - PRESS(I-1,J-1,bi,bj)) |
269 |
ENDDO |
ENDDO |
270 |
ENDDO |
ENDDO |
271 |
ENDDO |
ENDDO |
297 |
DO j=1,sNy |
DO j=1,sNy |
298 |
DO i=1,sNx |
DO i=1,sNx |
299 |
C NOW EVALUATE STRAIN RATES |
C NOW EVALUATE STRAIN RATES |
300 |
E11(I,J,bi,bj)=HALF/(DXTICE(I,J,bi,bj)*CSTICE(I,J,bi,bj)) |
E11(I,J,bi,bj)=HALF * _recip_dxF(I,J,bi,bj) * |
301 |
& *(UICE(I+1,J+1,1,bi,bj)+UICE(I+1,J,1,bi,bj) |
& (UICE(I+1,J+1,1,bi,bj)+UICE(I+1,J,1,bi,bj) |
302 |
& -UICE(I,J+1,1,bi,bj)-UICE(I,J,1,bi,bj)) |
& -UICE(I, J+1,1,bi,bj)-UICE(I, J,1,bi,bj)) |
303 |
& -QUART*(VICE(I+1,J+1,1,bi,bj)+VICE(I,J+1,1,bi,bj) |
& -QUART* |
304 |
& +VICE(I,J,1,bi,bj)+VICE(I+1,J,1,bi,bj)) |
& (VICE(I+1,J+1,1,bi,bj)+VICE(I, J+1,1,bi,bj) |
305 |
& *TNGTICE(I,J,bi,bj)/RADIUS |
& +VICE(I, J, 1,bi,bj)+VICE(I+1,J, 1,bi,bj)) |
306 |
E22(I,J,bi,bj)=HALF/DYTICE(I,J,bi,bj) |
CML & * _tanPhiAtU(I,J,bi,bj)*recip_rSphere |
307 |
& *(VICE(I+1,J+1,1,bi,bj)+VICE(I,J+1,1,bi,bj) |
& * _tanPhiAtU(I,J,bi,bj)/RADIUS |
308 |
& -VICE(I+1,J,1,bi,bj)-VICE(I,J,1,bi,bj)) |
E22(I,J,bi,bj)=HALF * _recip_dyF(I,J,bi,bj) * |
309 |
E12(I,J,bi,bj)=HALF*(HALF/DYTICE(I,J,bi,bj) |
& (VICE(I+1,J+1,1,bi,bj)+VICE(I,J+1,1,bi,bj) |
310 |
& *(UICE(I+1,J+1,1,bi,bj)+UICE(I,J+1,1,bi,bj) |
& -VICE(I+1,J, 1,bi,bj)-VICE(I,J, 1,bi,bj)) |
311 |
& -UICE(I+1,J,1,bi,bj)-UICE(I,J,1,bi,bj)) |
E12(I,J,bi,bj)=HALF*(HALF * _recip_dyF(I,J,bi,bj) * |
312 |
& +HALF/(DXTICE(I,J,bi,bj)*CSTICE(I,J,bi,bj)) |
& (UICE(I+1,J+1,1,bi,bj)+UICE(I,J+1,1,bi,bj) |
313 |
& *(VICE(I+1,J+1,1,bi,bj)+VICE(I+1,J,1,bi,bj) |
& -UICE(I+1,J, 1,bi,bj)-UICE(I,J, 1,bi,bj)) |
314 |
& -VICE(I,J+1,1,bi,bj)-VICE(I,J,1,bi,bj)) |
& +HALF * _recip_dxF(I,J,bi,bj) * |
315 |
& +QUART*(UICE(I+1,J+1,1,bi,bj)+UICE(I,J+1,1,bi,bj) |
& (VICE(I+1,J+1,1,bi,bj)+VICE(I+1,J,1,bi,bj) |
316 |
& +UICE(I,J,1,bi,bj)+UICE(I+1,J,1,bi,bj)) |
& -VICE(I, J+1,1,bi,bj)-VICE(I, J,1,bi,bj)) |
317 |
& *TNGTICE(I,J,bi,bj)/RADIUS) |
& +QUART* |
318 |
|
& (UICE(I+1,J+1,1,bi,bj)+UICE(I, J+1,1,bi,bj) |
319 |
|
& +UICE(I, J, 1,bi,bj)+UICE(I+1,J, 1,bi,bj)) |
320 |
|
CML & * _tanPhiAtU(I,J,bi,bj)*recip_rSphere) |
321 |
|
& * _tanPhiAtU(I,J,bi,bj)/RADIUS) |
322 |
C NOW EVALUATE VISCOSITIES |
C NOW EVALUATE VISCOSITIES |
323 |
DELT1=(E11(I,J,bi,bj)**2+E22(I,J,bi,bj)**2)*(ONE+ECM2) |
DELT1=(E11(I,J,bi,bj)**2+E22(I,J,bi,bj)**2)*(ONE+ECM2) |
324 |
& +4. _d 0*ECM2*E12(I,J,bi,bj)**2 |
& +4. _d 0*ECM2*E12(I,J,bi,bj)**2 |
371 |
& +COSWAT*GWATY(I,J,bi,bj)) |
& +COSWAT*GWATY(I,J,bi,bj)) |
372 |
C NOW CALCULATE PRESSURE FORCE AND ADD TO EXTERNAL FORCE |
C NOW CALCULATE PRESSURE FORCE AND ADD TO EXTERNAL FORCE |
373 |
FORCEX(I,J,bi,bj)=FORCEX(I,J,bi,bj) |
FORCEX(I,J,bi,bj)=FORCEX(I,J,bi,bj) |
374 |
& -(QUART/(DXUICE(I,J,bi,bj)*CSUICE(I,J,bi,bj))) |
& -QUART * _recip_dxV(I,J,bi,bj) |
375 |
& *(PRESS(I,J,bi,bj)+PRESS(I,J-1,bi,bj) |
& *(PRESS(I, J,bi,bj) + PRESS(I, J-1,bi,bj) |
376 |
& -PRESS(I-1,J,bi,bj)-PRESS(I-1,J-1,bi,bj)) |
& - PRESS(I-1,J,bi,bj) - PRESS(I-1,J-1,bi,bj)) |
377 |
FORCEY(I,J,bi,bj)=FORCEY(I,J,bi,bj)-QUART/DYUICE(I,J,bi,bj) |
FORCEY(I,J,bi,bj)=FORCEY(I,J,bi,bj) |
378 |
& *(PRESS(I,J,bi,bj)+PRESS(I-1,J,bi,bj) |
& -QUART * _recip_dyU(I,J,bi,bj) |
379 |
& -PRESS(I,J-1,bi,bj)-PRESS(I-1,J-1,bi,bj)) |
& *(PRESS(I,J, bi,bj) + PRESS(I-1,J, bi,bj) |
380 |
|
& - PRESS(I,J-1,bi,bj) - PRESS(I-1,J-1,bi,bj)) |
381 |
ENDDO |
ENDDO |
382 |
ENDDO |
ENDDO |
383 |
ENDDO |
ENDDO |