Skip to content

Commit

Permalink
ice_dyn_evp: compute seabed stress factor at CD-grid locations
Browse files Browse the repository at this point in the history
Leverage the changes in the previous commits to compute the seabed
stress factor at the E and N locations if grid_system == 'CD'.

For seabed_stress_method == 'LKD', simply call seabed_stress_factor_LKD
twice, once for each of the E and N locations.

For seabed_stress_method == 'probabilistic', call
seabed_stress_factor_prob with the additional arguments for the E and N
locations.
  • Loading branch information
phil-blain committed Nov 18, 2021
1 parent 7c70258 commit 48c07c6
Showing 1 changed file with 36 additions and 4 deletions.
40 changes: 36 additions & 4 deletions cicecore/cicedynB/dynamics/ice_dyn_evp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -502,22 +502,54 @@ subroutine evp (dt)
!$OMP PARALLEL DO PRIVATE(iblk)
do iblk = 1, nblocks

select case (trim(grid_system))
case('B')

if ( seabed_stress_method == 'LKD' ) then

call seabed_stress_factor_LKD (nx_block, ny_block, &
icellu (iblk), &
indxui(:,iblk), indxuj(:,iblk), &
vice(:,:,iblk), aice(:,:,iblk), &
hwater(:,:,iblk), Tbu(:,:,iblk))

elseif ( seabed_stress_method == 'probabilistic' ) then

call seabed_stress_factor_prob (nx_block, ny_block, &
icellt(iblk), indxti(:,iblk), indxtj(:,iblk), &
icellu(iblk), indxui(:,iblk), indxuj(:,iblk), &
aicen(:,:,:,iblk), vicen(:,:,:,iblk), &
hwater(:,:,iblk), Tbu(:,:,iblk))
endif

case('CD')

if ( seabed_stress_method == 'LKD' ) then

call seabed_stress_factor_LKD (nx_block, ny_block, &
icellu (iblk), &
indxui(:,iblk), indxuj(:,iblk), &
icelle (iblk), &
indxei(:,iblk), indxej(:,iblk), &
vice(:,:,iblk), aice(:,:,iblk), &
hwater(:,:,iblk), TbE(:,:,iblk))
call seabed_stress_factor_LKD (nx_block, ny_block, &
icelln (iblk), &
indxni(:,iblk), indxnj(:,iblk), &
vice(:,:,iblk), aice(:,:,iblk), &
hwater(:,:,iblk), Tbu(:,:,iblk))
hwater(:,:,iblk), TbN(:,:,iblk))

elseif ( seabed_stress_method == 'probabilistic' ) then

call seabed_stress_factor_prob (nx_block, ny_block, &
icellt(iblk), indxti(:,iblk), indxtj(:,iblk), &
icellu(iblk), indxui(:,iblk), indxuj(:,iblk), &
aicen(:,:,:,iblk), vicen(:,:,:,iblk), &
hwater(:,:,iblk), Tbu(:,:,iblk))
hwater(:,:,iblk), Tbu(:,:,iblk), &
TbE(:,:,iblk), TbN(:,:,iblk), &
icelle(iblk), indxei(:,iblk), indxej(:,iblk), &
icelln(iblk), indxni(:,iblk), indxnj(:,iblk) )
endif

end select

enddo
!$OMP END PARALLEL DO
Expand Down

0 comments on commit 48c07c6

Please sign in to comment.