337 REAL(SP),
ALLOCATABLE :: EXFLUX(:,:),UN(:,:),PSPX(:,:,:),PSPY(:,:,:),FF1(:,:),FIJ1(:,:,:)
338 REAL(SP),
ALLOCATABLE :: XFLUX(:,:,:)
339 REAL(SP),
ALLOCATABLE :: XFLUX_TMP(:)
340 REAL(SP) :: UTMP,VTMP,UN1,X11,Y11,X22,Y22,X33,Y33,TMP1,TMP2,XI,YI
341 REAL(SP) :: DXA,DYA,DXB,DYB,FIJ1_TMP
342 REAL(SP) :: TXX,TYY,FXX,FYY,VISCOF,TEMP,STPOINT
344 INTEGER :: I,I1,I2,IA,IB,J,J1,J2,K,JTMP,JJ,II
345 REAL(SP) :: AC1MIN, AC1MAX, AC2MIN, AC2MAX
346 INTEGER :: ID,ISS,IG,IG2
347 REAL(SP) :: XIN,YIN,XIC,YIC,CANX,CANY
348 REAL(SP) :: CAX(MDC,MSC),CAY(MDC,MSC)
350 REAL(SP) :: RF(MDC,MSC),DF(MDC,MSC)
352 REAL(SP) :: SPCDIR2(MDC),SPCDIR3(MDC),CANX_2D(MDC,MSC),CANY_2D(MDC,MSC),CGO_1D(MSC),CGO_2D(MDC,MSC)
354 REAL(SP) :: N32_T,XFLUX_T
355 REAL(SP),
ALLOCATABLE :: DEP2(:),AC2LOC(:)
356 REAL(SP) :: DEPLOC,KWAVELOC,CGLOC,NN,ND,SPCSIGL
357 REAL(SP) :: UA_NODE,VA_NODE
360 REAL,
ALLOCATABLE ::EXFLUXA(:,:),EXFLUXB(:,:),UNA(:,:),UNBB(:,:),FIJ2(:,:,:),&
361 FIJ1A(:,:,:),FIJ1B(:,:,:),FIJ2A(:,:,:),FIJ2B(:,:,:), &
362 N32_TMPP2(:,:),N32_TMPP3(:,:)
363 REAL :: DLTXEA,DLTXEB,DLTXETMP,DLTYETMP,C_ICE
364 REAL :: CANXAB(MDC,MSC),CANYA(MDC,MSC),CANYB(MDC,MSC)
365 REAL(SP) :: XFLUX_1D(0:MT),PSPX_1D(M),PSPY_1D(M)
367 REAL :: EXFLUX_TMPA(MDC,MSC),EXFLUX_TMPB(MDC,MSC)
368 REAL :: EXFLUX_TMP(MDC,MSC)
371 ALLOCATE(dep2(
mt),ac2loc(0:
mt),xflux_tmp(0:
mt))
373 ALLOCATE(xflux(
mdc,
msc,0:
mt));xflux=0.0
374 ALLOCATE(pspx(
mdc,
msc,
m));pspx=0.0
375 ALLOCATE(pspy(
mdc,
msc,
m));pspy=0.0
378 fij1a(
mdc,
msc,0:
m),fij1b(
mdc,
msc,0:
m),fij2a(
mdc,
msc,0:
m),fij2b(
mdc,
msc,0:
m),una(
mdc,
msc),unbb(
mdc,
msc))
413 ff1(:,:)=0.5*(
n32(:,:,i1)+
n32(:,:,i2))
430 pspx(:,:,i)=pspx(:,:,i)+ff1(:,:)*
dltytrie(i,j)
431 pspy(:,:,i)=pspy(:,:,i)+ff1(:,:)*
dltxtrie(i,j)
433 pspx(:,:,i)=pspx(:,:,i)/
art2(i)
434 pspy(:,:,i)=pspy(:,:,i)/
art2(i)
485 fij1(:,:,1)=
n32(:,:,ia)+
dltxncve(i,1)*pspx(:,:,ia)+
dltyncve(i,1)*pspy(:,:,ia)
486 fij1(:,:,2)=
n32(:,:,ib)+
dltxncve(i,2)*pspx(:,:,ib)+
dltyncve(i,2)*pspy(:,:,ib)
505 deploc = (dep2(
nv(i1,1))+dep2(
nv(i1,2))+dep2(
nv(i1,3)))/3.0
527 CALL sproxy2(canx_2d ,cany_2d , &
528 cgo_2d ,spcdir2,spcdir3,utmp ,vtmp )
534 exflux=-
un*((1.0+sign(1.0,
un))*fij1(:,:,2)+(1.0-sign(1.0,
un))*fij1(:,:,1))*0.5
536 xflux(:,:,ia)=xflux(:,:,ia)+exflux
537 xflux(:,:,ib)=xflux(:,:,ib)-exflux
564 CALL kscip1(1,spcsigl,deploc,kwaveloc,cgloc,nn,nd)
566 cax(id,iss) = cgloc *
spcdir(id,2)
567 cay(id,iss) = cgloc *
spcdir(id,3)
587 fij1_tmp =
n32(id,iss,i)
596 ELSE IF(
nbsn(i,2) >
m)
THEN 613 xflux(id,iss,i) = xflux(id,iss,i)+max(0.0,-un1*fij1_tmp)
631 ac2(:,:,i) = max(0.0,
ac2(:,:,i))
648 DEALLOCATE(dep2,ac2loc,xflux_tmp,exflux,ff1,fij1,
un)
649 DEALLOCATE(xflux,pspx,pspy)
651 DEALLOCATE(exfluxa,exfluxb,fij2)
652 DEALLOCATE(fij1a,fij1b,fij2a,fij2b,una,unbb)
653 DEALLOCATE(n32_tmpp2,n32_tmpp3)
integer, dimension(:), allocatable, target ntsn
real, dimension(:), allocatable, save spcsig
real, dimension(mdiffr) pdiffr
real, dimension(:,:,:), allocatable n32
real(sp), dimension(:,:), allocatable, target dltxncve
real, dimension(:,:), allocatable, save spcdir
real(sp), dimension(:), allocatable, target art1
logical high_latitude_wave
real(sp), dimension(:,:), allocatable, target dltytrie
real(sp), dimension(:,:), allocatable, target dltyncve
integer, dimension(:), allocatable, target isonb_w
real, dimension(:,:,:), allocatable ac2
real(sp), dimension(:,:), allocatable un
real(sp), dimension(:), allocatable, target art2
integer, dimension(:), allocatable, target ntrg
integer, dimension(:,:), allocatable, target niec
real(sp), dimension(:), allocatable, target vx
real(sp), dimension(:), allocatable, target dltye
real(sp), dimension(:), allocatable, target vy
integer, dimension(:,:), allocatable, target nv
subroutine kscip1(MMT, SIG, D, K, CG, N, ND)
real(sp), dimension(:,:), allocatable, target dltxtrie
subroutine sproxy2(CAXL, CAYL, CG0L, ECOSL, ESINL, UX2L, UY2L)
integer, dimension(:,:), allocatable, target nbsn
real(sp), dimension(:), allocatable, target dltxe
subroutine kscip2(S, D, CG)
real, dimension(:,:), allocatable compda