ocean_vcoord_z_fixed_target on the UNIFORM nominal spacing
h_nominal — the historical signature, for callers (tests,
setup code without a vcoord slot) that have no profile tables.
Same kernel, use_profile = .false., so the arithmetic is the
uniform branch’s exactly; the two tables are never read.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(out) | :: | target_h(nx,ny,nz) |
Target layer thickness (m). |
||
| real(kind=wp), | intent(in) | :: | total_h(nx,ny) |
Column reference thickness |
||
| real(kind=wp), | intent(in) | :: | eta(nx,ny) |
Free-surface anomaly |
||
| real(kind=wp), | intent(in) | :: | z_top(nx,ny) |
Geopotential depth of the column top (m, positive down). |
||
| integer, | intent(in) | :: | nx |
i-extent of every array (total, incl. halos). |
||
| integer, | intent(in) | :: | ny |
j-extent of every array (total, incl. halos). |
||
| integer, | intent(in) | :: | nz |
Number of layers; |
||
| real(kind=wp), | intent(in) | :: | h_nominal |
Nominal layer spacing (m), |
||
| real(kind=wp), | intent(in) | :: | h_min |
Inert-filler thickness. |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | private | :: | dz_unused(nz) | ||||
| real(kind=wp), | private | :: | zi_unused(0:nz) |
pure subroutine ocean_vcoord_z_fixed_target_uniform(target_h, total_h, eta, z_top, & nx, ny, nz, h_nominal, h_min) !! `ocean_vcoord_z_fixed_target` on the UNIFORM nominal spacing !! `h_nominal` — the historical signature, for callers (tests, !! setup code without a vcoord slot) that have no profile tables. !! Same kernel, `use_profile = .false.`, so the arithmetic is the !! uniform branch's exactly; the two tables are never read. integer, intent(in) :: nx !! i-extent of every array (total, incl. halos). integer, intent(in) :: ny !! j-extent of every array (total, incl. halos). integer, intent(in) :: nz !! Number of layers; `k = 1` is the bed, `k = nz` the top. real(wp), intent(out) :: target_h(nx, ny, nz) !! Target layer thickness (m). real(wp), intent(in) :: total_h(nx, ny) !! Column reference thickness `H` (m). real(wp), intent(in) :: eta(nx, ny) !! Free-surface anomaly `η` (m). real(wp), intent(in) :: z_top(nx, ny) !! Geopotential depth of the column top (m, positive down). real(wp), intent(in) :: h_nominal !! Nominal layer spacing (m), `> 0`. real(wp), intent(in) :: h_min !! Inert-filler thickness. real(wp) :: zi_unused(0:nz), dz_unused(nz) zi_unused = 0.0_wp dz_unused = 0.0_wp call ocean_vcoord_z_fixed_target(target_h, total_h, eta, z_top, nx, ny, nz, & h_nominal, .false., zi_unused, dz_unused, h_min) end subroutine ocean_vcoord_z_fixed_target_uniform