ocean_budgets_bytes Function

private pure function ocean_budgets_bytes(this) result(nbytes)

Counted allocatable footprint of the conservation budgets (own accumulator; registry contributors are counted by their owning slot) slot (0 when unallocated).

Type Bound

ocean_budgets_t

Arguments

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

Return Value integer(kind=int64)


Calls

proc~~ocean_budgets_bytes~~CallsGraph proc~ocean_budgets_bytes ocean_budgets_t%ocean_budgets_bytes interface~arr_bytes arr_bytes proc~ocean_budgets_bytes->interface~arr_bytes proc~diag_mask_bytes diag_mask_t%diag_mask_bytes proc~ocean_budgets_bytes->proc~diag_mask_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~diag_mask_bytes->interface~arr_bytes

Source Code

   pure function ocean_budgets_bytes(this) result(nbytes)
      !! Counted allocatable footprint of the conservation budgets (own accumulator; registry contributors are counted by their owning slot) slot (0 when
      !! unallocated).
      class(ocean_budgets_t), intent(in) :: this
      integer(int64) :: nbytes
      nbytes = arr_bytes(this%areaT)
      ! Region mask — HOST-only (lazily allocated by `init_snapshot` /
      ! `evaluate`, never `!$acc enter data`'d).  Counted anyway now that
      ! `diag_mask_t` has a `bytes()`: the term is 0 on every shipped
      ! namelist (`ocean_budgets_t` has no production consumer) and keeping
      ! it makes the drift hook's "every countable component" rule hold.
      if (allocated(this%mask)) nbytes = nbytes + this%mask%bytes()
   end function ocean_budgets_bytes