fill_water_column Subroutine

public subroutine fill_water_column(state_handle, buf)

Water-column thickness under the shelf, D = bt_H_ref + bt_eta (m) — the ONE expression every consumer of the column depth uses, which is exactly what the cavity datum (bt_H_ref = b − z_draft) buys. Masked by cover_frac: the quantity is perfectly well defined in open water, but as a CAVITY diagnostic a domain mean should be the mean cavity thickness, not that diluted by the open basin.

Arguments

Type IntentOptional Attributes Name
class(*), intent(in) :: state_handle
real(kind=wp), intent(inout) :: buf(:,:,:)

Calls

proc~~fill_water_column~~CallsGraph proc~fill_water_column fill_water_column proc~water_column_impl water_column_impl proc~fill_water_column->proc~water_column_impl

Source Code

   subroutine fill_water_column(state_handle, buf)
      !! Water-column thickness under the shelf, `D = bt_H_ref + bt_eta`
      !! (m) — the ONE expression every consumer of the column depth
      !! uses, which is exactly what the cavity datum
      !! (`bt_H_ref = b − z_draft`) buys.  Masked by `cover_frac`: the
      !! quantity is perfectly well defined in open water, but as a
      !! CAVITY diagnostic a domain mean should be the mean cavity
      !! thickness, not that diluted by the open basin.
      class(*), intent(in) :: state_handle
      real(wp), intent(inout) :: buf(:, :, :)
      select type (state => state_handle)
      class is (ocean_state_t)
         call water_column_impl(state%dyn%bt_work%bt_H_ref, state%dyn%bt_work%bt_eta, &
                                state%metrics%cover_frac, buf)
      end select
   end subroutine fill_water_column