33 & icetype,vcrbor,vcrbom,tcr,vz,
34 & tc,tmelt,iceloc,icetypep,t2
39 TYPE(bief_mesh),
INTENT(INOUT) :: MESH
40 TYPE(bief_obj),
INTENT(IN) :: U,V
44 INTEGER I,J,K,N1,N2,IT,NPOIN,NELEM,NELMAX,IL,ITP
45 DOUBLE PRECISION THICK, USTAR,VMAG,VB
67 CALL vector(t1,
'=',
'MASBAS ',u%ELM,1.d0,
68 & t2,t2,t2,t2,t2,t2,mesh,.false.,t2)
70 IF( ncsize.GT.1 )
CALL parcom( t1,2,mesh )
82 vmag = sqrt( u%R(i)**2 + v%R(i)**2 )
84 vb = max( 0.d0, -0.025d0*tcr%R(i) + 0.005d0 )
88 ustar = max( 0.175d0, vmag / max(vcrbom,1.d-12) )
100 IF( tcr%R(i).LE.(tc-tmelt%R(i)) .AND.
101 & vb.GT.1.1d0*vz%R(i) .AND.
102 & vmag.LT.vcrbor )
THEN 107 IF( il.EQ.2.OR.il.EQ.4 ) it1%I(i) = 2
122 & ustar.LE.1.d0 )
THEN 123 IF( il .LT. 3.AND.itp.NE.2 )
THEN 126 IF( il.EQ.2 ) it2%I(i) = 2
154 i = mesh%IKLE%I( j + (k-1)*nelmax )
162 IF( it1%I(i).EQ.1 )
THEN 163 n1 = icetype%I( mesh%IKLE%I( j + mod(k,3)*nelmax ) )
164 n2 = icetype%I( mesh%IKLE%I( j + mod(k+1,3)*nelmax ) )
165 IF( n1 .EQ. 2 .AND. n2 .EQ. 2 )
THEN 169 IF( it2%I(i).EQ.1 )
THEN 170 n1 = icetypep%I( mesh%IKLE%I( j + mod(k,3)*nelmax ) )
171 n2 = icetypep%I( mesh%IKLE%I( j + mod(k+1,3)*nelmax ) )
172 IF( n1 .EQ. 2 .AND. n2 .EQ. 2 )
THEN 182 IF(ncsize.GT.1)
CALL parcom2i(it1%I,it2%I,it2%I,npoin,1,3,2,mesh)
193 IF( it1%I(i).EQ.2 )
THEN 198 IF( itp .EQ. 2 )
THEN 201 ELSEIF( il .GE. 3 )
THEN 203 IF(il.EQ.3) iceloc%I(i) = 1
204 IF(il.EQ.4) iceloc%I(i) = 2
218 ELSEIF( it2%I(i).EQ.2 )
THEN 223 IF(il.EQ.1) iceloc%I(i) = 3
224 IF(il.EQ.2) iceloc%I(i) = 4
subroutine parcom2i(X1, X2, X3, NPOIN, NPLAN, ICOM, IAN, MESH)
subroutine border_icover(U, V, MESH)
subroutine vector(VEC, OP, FORMUL, IELM1, XMUL, F, G, H, U, V, W, MESH, MSK, MASKEL, LEGO, ASSPAR)
subroutine parcom(X, ICOM, MESH)
type(bief_obj), target anfem
type(bief_obj), target thifemf
type(bief_obj), target thifems