From c5073300d72cb573ccb6cc4236042673131156b0 Mon Sep 17 00:00:00 2001 From: Jean-Francois Lemieux Date: Thu, 18 Nov 2021 21:55:23 +0000 Subject: [PATCH 1/8] Initial coding of stress_U --- cicecore/cicedynB/dynamics/ice_dyn_evp.F90 | 128 ++++++++++++++++++++- 1 file changed, 126 insertions(+), 2 deletions(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 index a78cdd457..1e788108f 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 @@ -1161,7 +1161,6 @@ end subroutine stress !======================================================================= ! Computes the strain rates and internal stress components for T points -! Computes stress terms for the momentum equation ! author: JF Lemieux, ECCC ! Nov 2021 @@ -1302,7 +1301,132 @@ subroutine stress_T (nx_block, ny_block, & end subroutine stress_T - !======================================================================= +!======================================================================= + +! Computes the strain rates and internal stress components for U points + +! author: JF Lemieux, ECCC +! Nov 2021 + + subroutine stress_U (nx_block, ny_block, & + ksub, icellu, & !!!!new + indxui, indxuj, & + uvelE, vvelE, & + uvelN, vvelN, & + uvelU, vvelU, & + dxE, dyN, & + dxU, dyU, & + ratiodxN, ratiodxNr, & + ratiodyE, ratiodyEr, & + epm, npm, uvm, & + stresspU, stressmU, & + stress12U, ) + + use ice_dyn_shared, only: strain_rates_U, & + viscous_coeffs_and_rep_pressure_U + + integer (kind=int_kind), intent(in) :: & + nx_block, ny_block, & ! block dimensions + ksub , & ! subcycling step + icellu ! no. of cells where iceumask = 1 + + integer (kind=int_kind), dimension (nx_block*ny_block), intent(in) :: & + indxui , & ! compressed index in i-direction + indxuj ! compressed index in j-direction + + real (kind=dbl_kind), dimension (nx_block,ny_block), intent(in) :: & + uvelE , & ! x-component of velocity (m/s) at the E point + vvelE , & ! y-component of velocity (m/s) at the N point + uvelN , & ! x-component of velocity (m/s) at the E point + vvelN , & ! y-component of velocity (m/s) at the N point + uvelU , & ! x-component of velocity (m/s) at the U point + vvelU , & ! y-component of velocity (m/s) at the U point + dxE , & ! width of E-cell through the middle (m) + dyN , & ! height of N-cell through the middle (m) + dxU , & ! width of U-cell through the middle (m) + dyU , & ! height of U-cell through the middle (m) + ratiodxN , & ! -dxN(i+1,j)/dxN(i,j) for BCs + ratiodxNr, & ! -dxN(i,j)/dxN(i+1,j) for BCs + ratiodyE , & ! -dyE(i,j+1)/dyE(i,j) for BCs + ratiodyEr, & ! -dyE(i,j)/dyE(i,j+1) for BCs + epm , & ! E-cell mask + npm , & ! E-cell mask + uvm ! U-cell mask + + real (kind=dbl_kind), dimension (nx_block,ny_block), intent(inout) :: & + stresspU , & ! sigma11+sigma22 + stressmU , & ! sigma11-sigma22 + stress12U ! sigma12 + + ! local variables + + integer (kind=int_kind) :: & + i, j, ij + + real (kind=dbl_kind) :: & + divU, tensionU, shearU, DeltaU, & ! strain rates at U point +! zetax2T , & ! 2 x zeta (visc coeff) at T point +! etax2T , & ! 2 x eta (visc coeff) at T point + rep_prsU ! replacement pressure at U point + + character(len=*), parameter :: subname = '(stress_U)' + + do ij = 1, icellunew !!!!!!! + i = indxti(ij) + j = indxtj(ij) + + !----------------------------------------------------------------- + ! strain rates at T point + ! NOTE these are actually strain rates * area (m^2/s) + !----------------------------------------------------------------- + + call strain_rates_U (nx_block, ny_block, & + i, j, & + uvelE, vvelE, & + uvelN, vvelN, & + uvelU, vvelU, & + dxE, dyN, & + dxU, dyU, & + ratiodxN, ratiodxNr, & + ratiodyE, ratiodyEr, & + epm, npm, uvm, & + divU, tensionU, & + shearU, DeltaU ) + + !----------------------------------------------------------------- + ! viscous coefficients and replacement pressure at T point + !----------------------------------------------------------------- + + call viscous_coeffs_and_rep_pressure_U (zetax2T(i,j), zetax2T(i,j+1), & + zetax2T(i+1,j+1),zetax2T(i+1,j), & + etax2T(i,j), etax2T(i,j+1), & + etax2T(i+1,j+1), etax2T(i+1,j), & + hm(i,j), hm(i,j+1), & + hm(i+1,j+1), hm(i+1,j), & + tarea(i,j), tarea(i,j+1), & + tarea(i+1,j+1), tarea(i+1,j), & + DeltaU ) + + !----------------------------------------------------------------- + ! the stresses ! kg/s^2 + !----------------------------------------------------------------- + + ! NOTE: for comp. efficiency 2 x zeta and 2 x eta are used in the code + + stresspU(i,j) = (stresspU(i,j)*(c1-arlx1i*revp) + & + arlx1i*(zetax2U*divU - rep_prsU)) * denom1 + + stressmU(i,j) = (stressmU(i,j)*(c1-arlx1i*revp) + & + arlx1i*etax2U*tensionU) * denom1 + + stress12U(i,j) = (stress12U(i,j)*(c1-arlx1i*revp) + & + arlx1i*p5*etax2U*shearU) * denom1 + + enddo ! ij + + end subroutine stress_U + +!======================================================================= ! Computes divergence of stress tensor at the E or N point for the mom equation From a90b45bc92e945917580ed9942e3232cd7b625e8 Mon Sep 17 00:00:00 2001 From: Jean-Francois Lemieux Date: Thu, 18 Nov 2021 22:15:51 +0000 Subject: [PATCH 2/8] Almost done with stressU --- cicecore/cicedynB/dynamics/ice_dyn_evp.F90 | 52 +++++++++++++++------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 index 1e788108f..2d809ab34 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 @@ -168,6 +168,10 @@ subroutine evp (dt) real (kind=dbl_kind), allocatable :: fld2(:,:,:,:) + real (kind=dbl_kind), allocatable :: & + zetax2T , & ! zetax2 = 2*zeta (bulk viscous coeff) + etax2T , & ! etax2 = 2*eta (shear viscous coeff) + real (kind=dbl_kind), dimension(nx_block,ny_block,8):: & strtmp ! stress combinations for momentum equation @@ -195,6 +199,13 @@ subroutine evp (dt) allocate(fld2(nx_block,ny_block,2,max_blocks)) + if (grid_system == 'CD') then + + allocate(zetax2T(nx_block,ny_block,max_blocks)) + allocate(etax2T(nx_block,ny_block,max_blocks)) + + endif + ! This call is needed only if dt changes during runtime. ! call set_evp_parameters (dt) @@ -724,6 +735,10 @@ subroutine evp (dt) call ice_timer_stop(timer_evp_2d) deallocate(fld2) + if (grid_system == 'CD') then + deallocate(zetax2T, etax2T) + endif + if (maskhalo_dyn) call ice_HaloDestroy(halo_info_mask) ! Force symmetry across the tripole seam @@ -1173,7 +1188,8 @@ subroutine stress_T (nx_block, ny_block, & dxN, dyE, & dxT, dyT, & tarear, tinyarea, & - strength, & + strength, & + zetax2T, etax2T, & stresspT, stressmT, & stress12T, & shear, divu, & @@ -1206,6 +1222,8 @@ subroutine stress_T (nx_block, ny_block, & tinyarea ! puny*tarea real (kind=dbl_kind), dimension (nx_block,ny_block), intent(inout) :: & + zetax2T , & ! zetax2 = 2*zeta (bulk viscous coeff) + etax2T , & ! etax2 = 2*eta (shear viscous coeff) stresspT , & ! sigma11+sigma22 stressmT , & ! sigma11-sigma22 stress12T ! sigma12 @@ -1223,8 +1241,6 @@ subroutine stress_T (nx_block, ny_block, & real (kind=dbl_kind) :: & divT, tensionT, shearT, DeltaT, & ! strain rates at T point - zetax2T , & ! 2 x zeta (visc coeff) at T point - etax2T , & ! 2 x eta (visc coeff) at T point rep_prsT ! replacement pressure at T point logical :: capping ! of the viscous coef @@ -1261,7 +1277,8 @@ subroutine stress_T (nx_block, ny_block, & call viscous_coeffs_and_rep_pressure_T (strength(i,j), & tinyarea(i,j), & - DeltaT, zetax2T, etax2T, & + DeltaT, & + zetax2T(i,j),etax2T(i,j),& rep_prsT, capping ) !----------------------------------------------------------------- @@ -1319,6 +1336,7 @@ subroutine stress_U (nx_block, ny_block, & ratiodxN, ratiodxNr, & ratiodyE, ratiodyEr, & epm, npm, uvm, & + zetax2T, etax2T, & stresspU, stressmU, & stress12U, ) @@ -1351,7 +1369,9 @@ subroutine stress_U (nx_block, ny_block, & ratiodyEr, & ! -dyE(i,j)/dyE(i,j+1) for BCs epm , & ! E-cell mask npm , & ! E-cell mask - uvm ! U-cell mask + uvm , & ! U-cell mask + zetax2T , & ! 2*zeta at the T point + etax2T ! 2*eta at the T point real (kind=dbl_kind), dimension (nx_block,ny_block), intent(inout) :: & stresspU , & ! sigma11+sigma22 @@ -1365,8 +1385,6 @@ subroutine stress_U (nx_block, ny_block, & real (kind=dbl_kind) :: & divU, tensionU, shearU, DeltaU, & ! strain rates at U point -! zetax2T , & ! 2 x zeta (visc coeff) at T point -! etax2T , & ! 2 x eta (visc coeff) at T point rep_prsU ! replacement pressure at U point character(len=*), parameter :: subname = '(stress_U)' @@ -1397,15 +1415,17 @@ subroutine stress_U (nx_block, ny_block, & ! viscous coefficients and replacement pressure at T point !----------------------------------------------------------------- - call viscous_coeffs_and_rep_pressure_U (zetax2T(i,j), zetax2T(i,j+1), & - zetax2T(i+1,j+1),zetax2T(i+1,j), & - etax2T(i,j), etax2T(i,j+1), & - etax2T(i+1,j+1), etax2T(i+1,j), & - hm(i,j), hm(i,j+1), & - hm(i+1,j+1), hm(i+1,j), & - tarea(i,j), tarea(i,j+1), & - tarea(i+1,j+1), tarea(i+1,j), & - DeltaU ) +! COMING SOON!!! + +! call viscous_coeffs_and_rep_pressure_U (zetax2T(i,j), zetax2T(i,j+1), & +! zetax2T(i+1,j+1),zetax2T(i+1,j), & +! etax2T(i,j), etax2T(i,j+1), & +! etax2T(i+1,j+1), etax2T(i+1,j), & +! hm(i,j), hm(i,j+1), & +! hm(i+1,j+1), hm(i+1,j), & +! tarea(i,j), tarea(i,j+1), & +! tarea(i+1,j+1), tarea(i+1,j), & +! DeltaU ) !----------------------------------------------------------------- ! the stresses ! kg/s^2 From 72aa43e68ebd435311f1eb0dff99e51188be6e69 Mon Sep 17 00:00:00 2001 From: Jean-Francois Lemieux Date: Thu, 18 Nov 2021 22:35:29 +0000 Subject: [PATCH 3/8] Done with stress_U --- cicecore/cicedynB/dynamics/ice_dyn_evp.F90 | 24 +++++++++---------- cicecore/cicedynB/dynamics/ice_dyn_shared.F90 | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 index 2d809ab34..30d00a8f5 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 @@ -169,8 +169,8 @@ subroutine evp (dt) real (kind=dbl_kind), allocatable :: fld2(:,:,:,:) real (kind=dbl_kind), allocatable :: & - zetax2T , & ! zetax2 = 2*zeta (bulk viscous coeff) - etax2T , & ! etax2 = 2*eta (shear viscous coeff) + zetax2T(:,:,:), & ! zetax2 = 2*zeta (bulk viscous coeff) + etax2T(:,:,:) ! etax2 = 2*eta (shear viscous coeff) real (kind=dbl_kind), dimension(nx_block,ny_block,8):: & strtmp ! stress combinations for momentum equation @@ -1288,13 +1288,13 @@ subroutine stress_T (nx_block, ny_block, & ! NOTE: for comp. efficiency 2 x zeta and 2 x eta are used in the code stresspT(i,j) = (stresspT(i,j)*(c1-arlx1i*revp) + & - arlx1i*(zetax2T*divT - rep_prsT)) * denom1 + arlx1i*(zetax2T(i,j)*divT - rep_prsT)) * denom1 stressmT(i,j) = (stressmT(i,j)*(c1-arlx1i*revp) + & - arlx1i*etax2T*tensionT) * denom1 + arlx1i*etax2T(i,j)*tensionT) * denom1 stress12T(i,j) = (stress12T(i,j)*(c1-arlx1i*revp) + & - arlx1i*p5*etax2T*shearT) * denom1 + arlx1i*p5*etax2T(i,j)*shearT) * denom1 enddo ! ij @@ -1338,10 +1338,10 @@ subroutine stress_U (nx_block, ny_block, & epm, npm, uvm, & zetax2T, etax2T, & stresspU, stressmU, & - stress12U, ) + stress12U ) - use ice_dyn_shared, only: strain_rates_U, & - viscous_coeffs_and_rep_pressure_U + use ice_dyn_shared, only: strain_rates_U!, & + ! viscous_coeffs_and_rep_pressure_U integer (kind=int_kind), intent(in) :: & nx_block, ny_block, & ! block dimensions @@ -1385,13 +1385,13 @@ subroutine stress_U (nx_block, ny_block, & real (kind=dbl_kind) :: & divU, tensionU, shearU, DeltaU, & ! strain rates at U point - rep_prsU ! replacement pressure at U point + zetax2U, etax2U, rep_prsU ! replacement pressure at U point character(len=*), parameter :: subname = '(stress_U)' - do ij = 1, icellunew !!!!!!! - i = indxti(ij) - j = indxtj(ij) + do ij = 1, icellu !!!!WATCHOUT!!!! + i = indxui(ij) + j = indxuj(ij) !----------------------------------------------------------------- ! strain rates at T point diff --git a/cicecore/cicedynB/dynamics/ice_dyn_shared.F90 b/cicecore/cicedynB/dynamics/ice_dyn_shared.F90 index fb0a65d68..8bf892a53 100755 --- a/cicecore/cicedynB/dynamics/ice_dyn_shared.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_shared.F90 @@ -28,7 +28,7 @@ module ice_dyn_shared seabed_stress_factor_LKD, seabed_stress_factor_prob, & alloc_dyn_shared, & deformations, deformations_T, & - strain_rates, strain_rates_T, & + strain_rates, strain_rates_T, strain_rates_U, & viscous_coeffs_and_rep_pressure, & viscous_coeffs_and_rep_pressure_T, & stack_velocity_field, unstack_velocity_field From 8cf42b74442498dfedb9665aedeb0234c85d613c Mon Sep 17 00:00:00 2001 From: Jean-Francois Lemieux Date: Fri, 19 Nov 2021 14:45:03 +0000 Subject: [PATCH 4/8] Added calls for stress_T and stress_U --- cicecore/cicedynB/dynamics/ice_dyn_evp.F90 | 49 +++++++++++++++++----- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 index 30d00a8f5..ed2c4f6b1 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 @@ -619,7 +619,8 @@ subroutine evp (dt) !$TCXOMP PARALLEL DO PRIVATE(iblk,strtmp) do iblk = 1, nblocks -! if (trim(yield_curve) == 'ellipse') then + select case (grid_system) + case('B') call stress (nx_block, ny_block, & ksub, icellt(iblk), & indxti (:,iblk), indxtj (:,iblk), & @@ -639,15 +640,11 @@ subroutine evp (dt) shear (:,:,iblk), divu (:,:,iblk), & rdg_conv (:,:,iblk), rdg_shear (:,:,iblk), & strtmp (:,:,:) ) -! endif ! yield_curve !----------------------------------------------------------------- ! momentum equation !----------------------------------------------------------------- - select case (grid_system) - case('B') - call stepu (nx_block, ny_block, & icellu (iblk), Cdn_ocn (:,:,iblk), & indxui (:,iblk), indxuj (:,iblk), & @@ -666,7 +663,38 @@ subroutine evp (dt) case('CD') - call step_vel (nx_block, ny_block, & + call stress_T (nx_block, ny_block, & + ksub, icellt(iblk), & + indxti (:,iblk), indxtj (:,iblk), & + uvelE (:,:,iblk), vvelE (:,:,iblk), & + uvelN (:,:,iblk), vvelN (:,:,iblk), & + dxN (:,:,iblk), dyE (:,:,iblk), & + dxT (:,:,iblk), dyT (:,:,iblk), & + tarear (:,:,iblk), tinyarea (:,:,iblk), & + strength (:,:,iblk), & + zetax2T (:,:,iblk), etax2T (:,:,iblk), & + stresspT (:,:,iblk), stressmT (:,:,iblk), & + stress12T (:,:,iblk), & + shear (:,:,iblk), divu (:,:,iblk), & + rdg_conv (:,:,iblk), rdg_shear (:,:,iblk) ) + + call stress_U (nx_block, ny_block, & + ksub, icellu(iblk), & + indxui (:,iblk), indxuj (:,iblk), & + uvelE (:,:,iblk), vvelE (:,:,iblk), & + uvelN (:,:,iblk), vvelN (:,:,iblk), & + uvel (:,:,iblk), vvel (:,:,iblk), & + dxE (:,:,iblk), dyN (:,:,iblk), & + dxU (:,:,iblk), dyU (:,:,iblk), & + ratiodxN (:,:,iblk), ratiodxNr (:,:,iblk), & + ratiodyE (:,:,iblk), ratiodyEr (:,:,iblk), & + epm (:,:,iblk), npm (:,:,iblk), & + uvm (:,:,iblk), & + zetax2T (:,:,iblk), etax2T (:,:,iblk), & + stresspU (:,:,iblk), stressmU (:,:,iblk), & + stress12U (:,:,iblk)) + + call step_vel (nx_block, ny_block, & ! E point icelle (iblk), Cdn_ocn (:,:,iblk), & indxei (:,iblk), indxej (:,iblk), & ksub, aiE (:,:,iblk), & @@ -680,7 +708,7 @@ subroutine evp (dt) uvelE (:,:,iblk), vvelE (:,:,iblk), & TbE (:,:,iblk)) - call step_vel (nx_block, ny_block, & + call step_vel (nx_block, ny_block, & ! N point icelln (iblk), Cdn_ocn (:,:,iblk), & indxni (:,iblk), indxnj (:,iblk), & ksub, aiN (:,:,iblk), & @@ -694,7 +722,6 @@ subroutine evp (dt) uvelN (:,:,iblk), vvelN (:,:,iblk), & TbN (:,:,iblk)) - end select enddo @@ -1338,7 +1365,7 @@ subroutine stress_U (nx_block, ny_block, & epm, npm, uvm, & zetax2T, etax2T, & stresspU, stressmU, & - stress12U ) + stress12U ) use ice_dyn_shared, only: strain_rates_U!, & ! viscous_coeffs_and_rep_pressure_U @@ -1398,8 +1425,8 @@ subroutine stress_U (nx_block, ny_block, & ! NOTE these are actually strain rates * area (m^2/s) !----------------------------------------------------------------- - call strain_rates_U (nx_block, ny_block, & - i, j, & + call strain_rates_U (nx_block, ny_block, & + i, j, & uvelE, vvelE, & uvelN, vvelN, & uvelU, vvelU, & From 2badaa734ef8902369243888a609eb2ac8b4479e Mon Sep 17 00:00:00 2001 From: Jean-Francois Lemieux Date: Fri, 19 Nov 2021 15:03:11 +0000 Subject: [PATCH 5/8] Added grid variables from ice_grid in evp --- cicecore/cicedynB/dynamics/ice_dyn_evp.F90 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 index ed2c4f6b1..e47bb3d44 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 @@ -98,7 +98,8 @@ subroutine evp (dt) stress12_1, stress12_2, stress12_3, stress12_4, & stresspT, stressmT, stress12T, & stresspU, stressmU, stress12U - use ice_grid, only: tmask, umask, nmask, emask, dxt, dyt, & + use ice_grid, only: tmask, umask, nmask, emask, uvm, epm, npm, & + dxe, dxn, dxt, dye, dyn, dyt, & dxhy, dyhx, cxp, cyp, cxm, cym, & tarear, uarear, tinyarea, grid_average_X2Y, & grid_type, grid_system @@ -671,7 +672,7 @@ subroutine evp (dt) dxN (:,:,iblk), dyE (:,:,iblk), & dxT (:,:,iblk), dyT (:,:,iblk), & tarear (:,:,iblk), tinyarea (:,:,iblk), & - strength (:,:,iblk), & + strength (:,:,iblk), & zetax2T (:,:,iblk), etax2T (:,:,iblk), & stresspT (:,:,iblk), stressmT (:,:,iblk), & stress12T (:,:,iblk), & From 259ed343138fe014a2340eec178f2fafe2518548 Mon Sep 17 00:00:00 2001 From: Jean-Francois Lemieux Date: Fri, 19 Nov 2021 16:14:41 +0000 Subject: [PATCH 6/8] Rm empty line --- cicecore/cicedynB/dynamics/ice_dyn_evp.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 index e47bb3d44..e411bb35c 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 @@ -690,7 +690,7 @@ subroutine evp (dt) ratiodxN (:,:,iblk), ratiodxNr (:,:,iblk), & ratiodyE (:,:,iblk), ratiodyEr (:,:,iblk), & epm (:,:,iblk), npm (:,:,iblk), & - uvm (:,:,iblk), & + uvm (:,:,iblk), & zetax2T (:,:,iblk), etax2T (:,:,iblk), & stresspU (:,:,iblk), stressmU (:,:,iblk), & stress12U (:,:,iblk)) From 2f29fd37b6c0ba57bbc7b3a901292b6ef4a111db Mon Sep 17 00:00:00 2001 From: Jean-Francois Lemieux Date: Fri, 19 Nov 2021 16:36:56 +0000 Subject: [PATCH 7/8] Cosmetic changes --- cicecore/cicedynB/dynamics/ice_dyn_evp.F90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 index e411bb35c..f7650e119 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 @@ -1254,7 +1254,7 @@ subroutine stress_T (nx_block, ny_block, & etax2T , & ! etax2 = 2*eta (shear viscous coeff) stresspT , & ! sigma11+sigma22 stressmT , & ! sigma11-sigma22 - stress12T ! sigma12 + stress12T ! sigma12 real (kind=dbl_kind), dimension (nx_block,ny_block), intent(inout) :: & shear , & ! strain rate II component (1/s) @@ -1340,7 +1340,7 @@ subroutine stress_T (nx_block, ny_block, & dxT, dyT, & tarear , & shear , divu , & - rdg_conv , rdg_shear ) + rdg_conv , rdg_shear ) endif @@ -1354,7 +1354,7 @@ end subroutine stress_T ! Nov 2021 subroutine stress_U (nx_block, ny_block, & - ksub, icellu, & !!!!new + ksub, icellu, & indxui, indxuj, & uvelE, vvelE, & uvelN, vvelN, & @@ -1417,7 +1417,7 @@ subroutine stress_U (nx_block, ny_block, & character(len=*), parameter :: subname = '(stress_U)' - do ij = 1, icellu !!!!WATCHOUT!!!! + do ij = 1, icellu i = indxui(ij) j = indxuj(ij) From e89338fb4ebf5e27c9df971aefb407a832283e2d Mon Sep 17 00:00:00 2001 From: Jean-Francois Lemieux Date: Fri, 19 Nov 2021 16:53:14 +0000 Subject: [PATCH 8/8] Fixed compilation errors...works now --- cicecore/cicedynB/dynamics/ice_dyn_evp.F90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 index f7650e119..7cc9b2e2b 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 @@ -99,7 +99,8 @@ subroutine evp (dt) stresspT, stressmT, stress12T, & stresspU, stressmU, stress12U use ice_grid, only: tmask, umask, nmask, emask, uvm, epm, npm, & - dxe, dxn, dxt, dye, dyn, dyt, & + dxe, dxn, dxt, dxu, dye, dyn, dyt, dyu, & + ratiodxN, ratiodxNr, ratiodyE, ratiodyEr, & dxhy, dyhx, cxp, cyp, cxm, cym, & tarear, uarear, tinyarea, grid_average_X2Y, & grid_type, grid_system