Configure the SSH-tracking (ZSTAR) output grid — reference interface
depths (m, positive-down, monotone shallow->deep; deepest = H_ref).
Stored copy; must be called BEFORE any register with
output_vgrid == DIAG_VGRID_ZSTAR so the manager knows the buffer
shape.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ocean_diag_t), | intent(inout) | :: | this | |||
| real(kind=wp), | intent(in) | :: | zstar(:) | |||
| integer, | intent(out), | optional | :: | ierr |
subroutine ocean_diag_set_output_zstar_levels(this, zstar, ierr) !! Configure the SSH-tracking (ZSTAR) output grid — reference interface !! depths (m, positive-down, monotone shallow->deep; deepest = H_ref). !! Stored copy; must be called BEFORE any `register` with !! `output_vgrid == DIAG_VGRID_ZSTAR` so the manager knows the buffer !! shape. class(ocean_diag_t), intent(inout) :: this real(wp), intent(in) :: zstar(:) integer, intent(out), optional :: ierr if (present(ierr)) ierr = OCEAN_STATUS_OK if (.not. this%is_init) return if (size(zstar) > NZ_STACK_MAX) then call fail("set_output_zstar_levels: number of z* levels "// & "exceeds NZ_STACK_MAX; raise NZ_STACK_MAX or use fewer levels", & ierr, OCEAN_STATUS_ERR_SETUP) return end if if (allocated(this%zstar_out)) deallocate (this%zstar_out) this%n_zstar_out = size(zstar) allocate (this%zstar_out(this%n_zstar_out), source=zstar) end subroutine ocean_diag_set_output_zstar_levels