ocean_vcoord_z_fixed_target_uniform Subroutine

public 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.

Arguments

Type IntentOptional 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 H (m).

real(kind=wp), intent(in) :: eta(nx,ny)

Free-surface anomaly η (m).

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; k = 1 is the bed, k = nz the top.

real(kind=wp), intent(in) :: h_nominal

Nominal layer spacing (m), > 0.

real(kind=wp), intent(in) :: h_min

Inert-filler thickness.


Calls

proc~~ocean_vcoord_z_fixed_target_uniform~~CallsGraph proc~ocean_vcoord_z_fixed_target_uniform ocean_vcoord_z_fixed_target_uniform proc~ocean_vcoord_z_fixed_target ocean_vcoord_z_fixed_target proc~ocean_vcoord_z_fixed_target_uniform->proc~ocean_vcoord_z_fixed_target local local proc~ocean_vcoord_z_fixed_target->local

Called by

proc~~ocean_vcoord_z_fixed_target_uniform~~CalledByGraph proc~ocean_vcoord_z_fixed_target_uniform ocean_vcoord_z_fixed_target_uniform proc~ocean_state_seed_from_cfg ocean_state_seed_from_cfg proc~ocean_state_seed_from_cfg->proc~ocean_vcoord_z_fixed_target_uniform proc~engine_setup engine_setup proc~engine_setup->proc~ocean_state_seed_from_cfg proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~rdb_ocean_create_finalize rdb_ocean_create_finalize proc~rdb_ocean_create_finalize->proc~complete_ocean_create proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~complete_ocean_create

Variables

Type Visibility Attributes Name Initial
real(kind=wp), private :: dz_unused(nz)
real(kind=wp), private :: zi_unused(0:nz)

Source Code

   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