evp_average_stress_impl Subroutine

private pure subroutine evp_average_stress_impl(mask_u, mask_v, fxoc, fyoc, evp_sub_steps, nx, ny)

fxoc *= mask_u/evp_sub_steps, fyoc *= mask_v/evp_sub_steps (:1415-1441).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: mask_u(nx+1,ny)
real(kind=wp), intent(in) :: mask_v(nx,ny+1)
real(kind=wp), intent(inout) :: fxoc(nx+1,ny)
real(kind=wp), intent(inout) :: fyoc(nx,ny+1)
integer, intent(in) :: evp_sub_steps
integer, intent(in) :: nx
integer, intent(in) :: ny

Called by

proc~~evp_average_stress_impl~~CalledByGraph proc~evp_average_stress_impl evp_average_stress_impl proc~ice_evp_dynamics_impl ice_evp_dynamics_impl proc~ice_evp_dynamics_impl->proc~evp_average_stress_impl proc~ice_evp_dynamics ice_evp_dynamics proc~ice_evp_dynamics->proc~ice_evp_dynamics_impl proc~ice_evp_step ice_evp_step proc~ice_evp_step->proc~ice_evp_dynamics proc~engine_step_ice engine_step_ice proc~engine_step_ice->proc~ice_evp_step proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_step_ice proc~rdb_ocean_step rdb_ocean_step proc~rdb_ocean_step->proc~engine_step_ice

Variables

Type Visibility Attributes Name Initial
integer, private :: i
real(kind=wp), private :: i_sub_steps
integer, private :: j

Source Code

   pure subroutine evp_average_stress_impl(mask_u, mask_v, fxoc, fyoc, evp_sub_steps, nx, ny)
      !! `fxoc *= mask_u/evp_sub_steps`, `fyoc *= mask_v/evp_sub_steps`
      !! (:1415-1441).
      integer, intent(in) :: evp_sub_steps, nx, ny
      real(wp), intent(in) :: mask_u(nx + 1, ny)
      real(wp), intent(in) :: mask_v(nx, ny + 1)
      real(wp), intent(inout) :: fxoc(nx + 1, ny)
      real(wp), intent(inout) :: fyoc(nx, ny + 1)
      integer :: i, j
      real(wp) :: i_sub_steps

      i_sub_steps = 1.0_wp/real(evp_sub_steps, wp)
      do concurrent(j=1:ny, i=1:nx + 1)
         fxoc(i, j) = fxoc(i, j)*(mask_u(i, j)*i_sub_steps)
      end do
      do concurrent(j=1:ny + 1, i=1:nx)
         fyoc(i, j) = fyoc(i, j)*(mask_v(i, j)*i_sub_steps)
      end do
   end subroutine evp_average_stress_impl