Affine profile v(z) = v_ref + dv_dz*z evaluated at
geopotential height z = -z_depth, i.e.
v = v_ref - dv_dz*z_depth.
z is positive UP with the origin at the z = 0 datum, which
is the convention &ocean_ic_nml eady_dT_dz already uses. A
STABLE thermal column therefore has dv_dz > 0 for temperature
(warm on top) and dv_dz < 0 for salinity (salty at the bed).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | v_ref | |||
| real(kind=wp), | intent(in) | :: | dv_dz | |||
| real(kind=wp), | intent(in) | :: | z_depth |
pure elemental function linear_in_z(v_ref, dv_dz, z_depth) result(v) !! Affine profile `v(z) = v_ref + dv_dz*z` evaluated at !! geopotential height `z = -z_depth`, i.e. !! `v = v_ref - dv_dz*z_depth`. !! !! `z` is positive UP with the origin at the `z = 0` datum, which !! is the convention `&ocean_ic_nml eady_dT_dz` already uses. A !! STABLE thermal column therefore has `dv_dz > 0` for temperature !! (warm on top) and `dv_dz < 0` for salinity (salty at the bed). real(wp), intent(in) :: v_ref, dv_dz, z_depth real(wp) :: v v = v_ref - dv_dz*z_depth end function linear_in_z