Refresh the combined seam field eta_forcing for the current
outer step. Scalar self-attraction & loading (C2): when
use_sal, eta_sal = beta_sal*eta_current and
eta_forcing = eta_eq + eta_sal; otherwise eta_forcing = eta_eq
(bit-identical to C1). eta_current is the lagged (stage-start,
previous outer step) barotropic surface elevation. Host does no
work; the fill is a single explicit-shape do concurrent. Must
be called AFTER tides_update_eta_eq (reads the fresh eta_eq).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ocean_tides_t), | intent(inout) | :: | this | |||
| real(kind=wp), | intent(in) | :: | eta_current(:,:) |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | private | :: | nx | ||||
| integer, | private | :: | ny |
subroutine tides_update_eta_sal(this, eta_current) !! Refresh the combined seam field `eta_forcing` for the current !! outer step. Scalar self-attraction & loading (C2): when !! `use_sal`, `eta_sal = beta_sal*eta_current` and !! `eta_forcing = eta_eq + eta_sal`; otherwise `eta_forcing = eta_eq` !! (bit-identical to C1). `eta_current` is the lagged (stage-start, !! previous outer step) barotropic surface elevation. Host does no !! work; the fill is a single explicit-shape `do concurrent`. Must !! be called AFTER `tides_update_eta_eq` (reads the fresh `eta_eq`). type(ocean_tides_t), intent(inout) :: this real(wp), intent(in) :: eta_current(:, :) integer :: nx, ny nx = size(this%eta_eq, 1) ny = size(this%eta_eq, 2) call tides_update_eta_sal_impl(nx, ny, this%use_sal, this%beta_sal, & eta_current, this%eta_eq, this%eta_sal, & this%eta_forcing) end subroutine tides_update_eta_sal