36 |
#ifdef STREAMICE_HYBRID_STRESS |
#ifdef STREAMICE_HYBRID_STRESS |
37 |
|
|
38 |
C LOCAL VARIABLES |
C LOCAL VARIABLES |
39 |
INTEGER i, j, bi, bj, k, l, umid, vmid, m |
INTEGER i, j, bi, bj, k, l, m |
40 |
INTEGER ikey_1 |
INTEGER ikey_1 |
41 |
_RL ux, uy, vx, vy, exx, eyy, exy, unorm, second_inv |
_RL ux, uy, vx, vy, exx, eyy, exy, unorm, second_inv |
42 |
_RL ub, vb, fb, mean_u_shear, mean_v_shear |
_RL ub, vb, fb, mean_u_shear, mean_v_shear, umid, vmid |
43 |
_RL omega_temp (Nr+1), u_shear(Nr+1), v_shear(Nr+1) |
_RL omega_temp (Nr+1), u_shear(Nr+1), v_shear(Nr+1) |
44 |
|
|
45 |
_RL STREAMICE_BSTRESS_EXPONENT |
_RL STREAMICE_BSTRESS_EXPONENT |
133 |
|
|
134 |
second_inv = |
second_inv = |
135 |
& sqrt(exx**2+eyy**2+exx*eyy+exy**2+eps_glen_min**2+ |
& sqrt(exx**2+eyy**2+exx*eyy+exy**2+eps_glen_min**2+ |
136 |
& streamice_vert_shear_uz(m)**2 + |
& 0.25 * streamice_vert_shear_uz(m)**2 + |
137 |
& streamice_vert_shear_vz(m)**2) |
& 0.25 * streamice_vert_shear_vz(m)**2) |
138 |
|
|
139 |
visc_streamice_full(i,j,m,bi,bj) = |
visc_streamice_full(i,j,m,bi,bj) = |
140 |
& .5 * A_glen(i,j,bi,bj)**(-1./n_glen) * |
& .5 * A_glen(i,j,bi,bj)**(-1./n_glen) * |
187 |
vb = vmid - streamice_tauby(i,j,bi,bj) * |
vb = vmid - streamice_tauby(i,j,bi,bj) * |
188 |
& streamice_omega(i,j,bi,bj) / H_streamice(i,j,bi,bj) |
& streamice_omega(i,j,bi,bj) / H_streamice(i,j,bi,bj) |
189 |
|
|
190 |
unorm = sqrt(ub**2+vb**2+eps_glen_min**2) |
unorm = sqrt(ub**2+vb**2+eps_u_min**2) |
191 |
|
|
192 |
fb = C_basal_friction(i,j,bi,bj)**2 * |
fb = C_basal_friction(i,j,bi,bj)**2 * |
193 |
& STREAMICE_BSTRESS_EXPONENT (unorm,n_basal_friction) * |
& STREAMICE_BSTRESS_EXPONENT (unorm,n_basal_friction) * |