ocean_top_drag_bytes Function

private pure function ocean_top_drag_bytes(this) result(nbytes)

Counted allocatable footprint of the top-drag slot (0 when unallocated). One arr_bytes term per array — add a term here when a new allocatable joins the type.

Type Bound

ocean_top_drag_t

Arguments

Type IntentOptional Attributes Name
class(ocean_top_drag_t), intent(in) :: this

Return Value integer(kind=int64)


Calls

proc~~ocean_top_drag_bytes~~CallsGraph proc~ocean_top_drag_bytes ocean_top_drag_t%ocean_top_drag_bytes interface~arr_bytes arr_bytes proc~ocean_top_drag_bytes->interface~arr_bytes proc~scratch_3d_buffer_bytes scratch_3d_buffer_t%scratch_3d_buffer_bytes proc~ocean_top_drag_bytes->proc~scratch_3d_buffer_bytes proc~arr_bytes_i1 arr_bytes_i1 interface~arr_bytes->proc~arr_bytes_i1 proc~arr_bytes_i2 arr_bytes_i2 interface~arr_bytes->proc~arr_bytes_i2 proc~arr_bytes_i3 arr_bytes_i3 interface~arr_bytes->proc~arr_bytes_i3 proc~arr_bytes_l1 arr_bytes_l1 interface~arr_bytes->proc~arr_bytes_l1 proc~arr_bytes_l2 arr_bytes_l2 interface~arr_bytes->proc~arr_bytes_l2 proc~arr_bytes_l3 arr_bytes_l3 interface~arr_bytes->proc~arr_bytes_l3 proc~arr_bytes_r1 arr_bytes_r1 interface~arr_bytes->proc~arr_bytes_r1 proc~arr_bytes_r2 arr_bytes_r2 interface~arr_bytes->proc~arr_bytes_r2 proc~arr_bytes_r3 arr_bytes_r3 interface~arr_bytes->proc~arr_bytes_r3 proc~arr_bytes_r4 arr_bytes_r4 interface~arr_bytes->proc~arr_bytes_r4 proc~scratch_3d_buffer_bytes->interface~arr_bytes

Source Code

   pure function ocean_top_drag_bytes(this) result(nbytes)
      !! Counted allocatable footprint of the top-drag slot (0 when
      !! unallocated).  One `arr_bytes` term per array — add a term here
      !! when a new allocatable joins the type.
      class(ocean_top_drag_t), intent(in) :: this
      integer(int64) :: nbytes
      nbytes = this%du_drag%bytes() &
               + this%dv_drag%bytes() &
               + arr_bytes(this%cover_u) &
               + arr_bytes(this%cover_v) &
               + arr_bytes(this%cover_t) &
               + arr_bytes(this%lambda_top_u) &
               + arr_bytes(this%lambda_top_v) &
               + arr_bytes(this%stress_top)
   end function ocean_top_drag_bytes