hycom_top_dz Function

private pure function hycom_top_dz(vcoord) result(dz)

Surface-layer thickness of the hycom z* nominal floor (m), for the configure banner: the stretched profile’s top entry, else the uniform z_fixed_h_ref/nz, else 0 (the unconfigured sigma fallback of ocean_vcoord_rho_target_column).

Arguments

Type IntentOptional Attributes Name
type(ocean_vcoord_t), intent(in) :: vcoord

Return Value real(kind=wp)


Called by

proc~~hycom_top_dz~~CalledByGraph proc~hycom_top_dz hycom_top_dz proc~configure_ocean_lateral configure_ocean_lateral proc~configure_ocean_lateral->proc~hycom_top_dz proc~engine_setup engine_setup proc~engine_setup->proc~configure_ocean_lateral 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

Source Code

   pure function hycom_top_dz(vcoord) result(dz)
      !! Surface-layer thickness of the `hycom` z* nominal floor (m), for
      !! the configure banner: the stretched profile's top entry, else the
      !! uniform `z_fixed_h_ref/nz`, else 0 (the unconfigured sigma
      !! fallback of `ocean_vcoord_rho_target_column`).
      type(ocean_vcoord_t), intent(in) :: vcoord
      real(wp) :: dz
      dz = 0.0_wp
      if (vcoord%z_fixed_use_profile) then
         dz = vcoord%z_fixed_dz(vcoord%nz_ml)
      else if (vcoord%z_fixed_h_ref > 0.0_wp .and. vcoord%nz_ml > 0) then
         dz = vcoord%z_fixed_h_ref/real(vcoord%nz_ml, wp)
      end if
   end function hycom_top_dz