Fill Q_heat / Q_salt uniformly from scalar values and set
the has_heat / has_salt flags so the apply-tracers kernel
fires. Mirrors set_wind_stress_const on the stress side.
Host only — call enter_data afterwards (or !$acc update
device if already mapped) to sync to the GPU.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ocean_surface_flux_t), | intent(inout) | :: | this | |||
| real(kind=wp), | intent(in) | :: | q_heat_val | |||
| real(kind=wp), | intent(in) | :: | q_salt_val |
subroutine ocean_surfflux_set_const(this, q_heat_val, q_salt_val) !! Fill `Q_heat` / `Q_salt` uniformly from scalar values and set !! the `has_heat` / `has_salt` flags so the apply-tracers kernel !! fires. Mirrors `set_wind_stress_const` on the stress side. !! Host only — call `enter_data` afterwards (or `!$acc update !! device` if already mapped) to sync to the GPU. class(ocean_surface_flux_t), intent(inout) :: this real(wp), intent(in) :: q_heat_val, q_salt_val this%Q_heat_const = q_heat_val this%Q_salt_const = q_salt_val this%Q_heat = q_heat_val this%Q_salt = q_salt_val this%has_heat = (q_heat_val /= 0.0_wp) this%has_salt = (q_salt_val /= 0.0_wp) end subroutine ocean_surfflux_set_const