Juvenile Metrics

This section provides aggregation methods for summarizing juvenile coral abundance across different model output dimensions. These functions help reduce high-dimensional data on juvenile corals into simpler, more interpretable summary metrics.

ADRIAIndicators._max_juvenile_areaMethod
_max_juvenile_area(max_juv_colony_area::T, max_juv_density::T)::T where {T<:Real}

Calculate the maximum possible area that can be covered by juveniles for a given m².

Arguments

  • max_juv_colony_area : Maximum colony area of a juvenile in m².
  • max_juv_density : Maximum juvenile density in individuals/m².
source
ADRIAIndicators.absolute_juveniles!Method
absolute_juveniles!(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T}, out_absolute_juveniles::AbstractArray{T,2})::Nothing where {T<:AbstractFloat}

Calculate the absolute coral cover composed of juveniles for each timestep and location.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : A boolean vector indicating which size classes are juvenile.
  • location_area : Habitable area for each location.
  • out_absolute_juveniles : Output array buffer with dimensions [timesteps ⋅ locations].
source
ADRIAIndicators.absolute_juveniles!Method
absolute_juveniles!(relative_cover::AbstractArray{T,5}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T}, out_absolute_juveniles::AbstractArray{T,3})::Nothing where {T<:AbstractFloat}

Calculate the absolute coral cover composed of juveniles for each timestep, location, and scenario.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations ⋅ scenarios].
  • is_juvenile : Boolean mask indicating juvenile size classes.
  • location_area : Habitable area for each location.
  • out_absolute_juveniles : Output array buffer with dimensions [timesteps ⋅ locations ⋅ scenarios].
source
ADRIAIndicators.absolute_juvenilesMethod
absolute_juveniles(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T})::AbstractArray{T,2} where {T<:AbstractFloat}

Calculate the absolute coral cover composed of juveniles for each timestep and location.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : Boolean mask indicating juvenile size classes.
  • location_area : Habitable area for each location.

Returns

A 2D array of absolute juvenile cover with dimensions [timesteps ⋅ locations].

source
ADRIAIndicators.absolute_juvenilesMethod
absolute_juveniles(relative_cover::AbstractArray{T,5}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T})::AbstractArray{T,3} where {T<:AbstractFloat}

Calculate the absolute coral cover composed of juveniles for each timestep, location, and scenario.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations ⋅ scenarios].
  • is_juvenile : Boolean mask indicating juvenile size classes.
  • location_area : Habitable area for each location.

Returns

A 3D array of absolute juvenile cover with dimensions [timesteps ⋅ locations ⋅ scenarios].

source
ADRIAIndicators.absolute_loc_taxa_juveniles!Method
absolute_loc_taxa_juveniles!(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T}, out_absolute_loc_taxa_juveniles::AbstractArray{T,3})::Nothing

Calculate the coral cover occupied by juveniles in absolute units over timesteps, functional groups and locations. Write results into a preallocated buffer.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : Boolean mask indicating juvenile size classes.
  • location_area : Habitable area for each location.
  • out_absolute_loc_taxa_juveniles : Out array buffer with dimensions [timesteps ⋅ groups ⋅ locations]
source
ADRIAIndicators.absolute_loc_taxa_juvenilesMethod
absolute_loc_taxa_juveniles(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T})::Array{T,3} where {T<:AbstractFloat}

Calculate the coral cover occupied by juveniles in absolute units over timesteps, functional groups and locations.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : Boolean mask indicating juvenile size classes.
  • location_area : Habitable area for each location.

Returns

A 2D array of absolute juvenile cover with dimensions [timesteps ⋅ locations].

source
ADRIAIndicators.absolute_taxa_juveniles!Method
absolute_taxa_juveniles!(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T}, out_absolute_taxa_juveniles::AbstractArray{T,2})::Nothing

Calculate the coral cover occupied by juveniles over timesteps and functional groups. Write results in a preallocated buffer.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : Boolean mask indicating juvenile size classes.
  • location_area : Habitable area for each location.
  • out_absolute_taxa_juveniles : Out array buffer with dimensions [timesteps ⋅ groups ⋅ locations]
source
ADRIAIndicators.absolute_taxa_juvenilesMethod
absolute_taxa_juveniles(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T})::Array{T,2} where {T<:AbstractFloat}

Calculate the coral cover occupied by juveniles in absolute units over timesteps, functional groups and locations.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : Boolean mask indicating juvenile size classes.
  • location_area : Habitable area for each location.

Returns

A 2D array with dimensions [timesteps ⋅ groups]

source
ADRIAIndicators.juvenile_indicator!Method
juvenile_indicator!(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T}, max_juv_colony_area::T, max_juv_density::T)::Nothing

Indicator for juvenile density (0 - 1) where 1 indicates the maximum theoretical density for juveniles have been achieved.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations]
  • is_juvenile : Boolean mask indicating juvenile size classes.
  • habitable_area : Available area habitable by coral for each location.
  • mean_colony_diameters : Mean colony diameter for each group and size class with dimensions [groups ⋅ size classes]
  • max_juv_density : Maximum density juveniles can occur in.
  • out_juvenile_indicator : Output array buffer for the juvenile indicator metrics with dimensions [timesteps ⋅ locations]
source
ADRIAIndicators.juvenile_indicator!Method
juvenile_indicator!(relative_cover::AbstractArray{T,5}, is_juvenile::AbstractVector{Bool}, habitable_area::AbstractVector{T}, mean_colony_diameters::AbstractArray{T,2}, max_juv_density::T, out_juvenile_indicator::AbstractArray{T,3})::Nothing where {T<:AbstractFloat}

Indicator for juvenile density (0 - 1) where 1 indicates the maximum theoretical density for juveniles have been achieved.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations ⋅ scenarios]
  • is_juvenile : Boolean mask indicating juvenile size classes.
  • habitable_area : Available area habitable by coral for each location.
  • mean_colony_diameters : Mean colony diameter for each group and size class with dimensions [groups ⋅ size classes]
  • max_juv_density : Maximum density juveniles can occur in.
  • out_juvenile_indicator : Output array buffer for the juvenile indicator metrics with dimensions [timesteps ⋅ locations ⋅ scenarios]
source
ADRIAIndicators.juvenile_indicatorMethod
juvenile_indicator(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, habitable_area::AbstractVector{T}, mean_colony_diameters::AbstractArray{T,2}, max_juv_density::T)::AbstractArray{T,2} where {T<:AbstractFloat}

Indicator for juvenile density (0 - 1) where 1 indicates the maximum theoretical density for juveniles have been achieved. The juvenile indicator is defined as follows.

The maximum juvenile colony area $J_A$ refers to the maximum mean colony area over all juvenile size classes and all functional groups. Maximum juvenile density $J_D$refers to the maximum density juvenile can occur at over all juvenile size classes and functional groups. Then Juvenile Indicator (I) is given as,

\[\begin{align*} I(x; J_A, J_D, H_A) = \frac{A(x; H_A)}{J_A \cdot J_D \cdot H_A}, \end{align*}\]

where $H_A$ refers to habitable area and $A(x; H_A)$ refers to absolute juvenile cover.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations]
  • is_juvenile : Boolean mask indicating which sizes are juveniles.
  • habitable_area : Available area habitable by coral for each location.
  • mean_colony_diameters : Mean colony diameter for each group and size class with dimensions [groups ⋅ size classes]
  • max_juv_density : Maximum juvenile density for all juvenile size classes and functional groups.

Returns

A 2D array of juvenile indicators with dimensions [timesteps ⋅ locations]

source
ADRIAIndicators.juvenile_indicatorMethod
juvenile_indicator(relative_cover::AbstractArray{T,5}, is_juvenile::AbstractVector{Bool}, habitable_area::AbstractVector{T}, mean_colony_diameters::AbstractArray{T,2}, max_juv_density::T)::AbstractArray{T,3} where {T<:AbstractFloat}

Indicator for juvenile density (0 - 1) where 1 indicates the maximum theoretical density for juveniles have been achieved. The juvenile indicator is defined as follows.

The maximum juvenile colony area $J_A$ refers to the maximum mean colony area over all juvenile size classes and all functional groups. Maximum juvenile density $J_D$refers to the maximum density juvenile can occur at over all juvenile size classes and functional groups. Then Juvenile Indicator (I) is given as,

\[\begin{align*} I(x; J_A, J_D, H_A) = \frac{A(x; H_A)}{J_A \cdot J_D \cdot H_A}, \end{align*}\]

where $H_A$ refers to habitable area and $A(x; H_A)$ refers to absolute juvenile cover.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations ⋅ scenarios]
  • is_juvenile : Boolean mask indicating which sizes are juveniles.
  • habitable_area : Available area habitable by coral for each location.
  • mean_colony_diameters : Mean colony diameter for each group and size class with dimensions [groups ⋅ size classes]
  • max_juv_density : Maximum juvenile density for all juvenile size classes and functional groups.

Returns

A 3D array of juvenile indicators with dimensions [timesteps ⋅ locations ⋅ scenarios]

source
ADRIAIndicators.relative_juveniles!Method
relative_juveniles!(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, out_relative_juveniles::AbstractArray{T,2})::Nothing where {T<:Real}

Calculate the relative coral cover composed of juveniles.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : A boolean vector indicating which size classes are juvenile.
  • out_relative_juveniles : Output array buffer with dimensions [timesteps ⋅ locations].
source
ADRIAIndicators.relative_juveniles!Method
relative_juveniles!(relative_cover::AbstractArray{T,5}, is_juvenile::AbstractVector{Bool}, out_relative_juveniles::AbstractArray{T,3})::Nothing where {T<:Real}

Calculate the relative coral cover composed of juveniles for a 5-dimensional array of relative cover.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations ⋅ scenarios].
  • is_juvenile : A boolean vector indicating which size classes are juvenile.
  • out_relative_juveniles : Output array buffer with dimensions [timesteps ⋅ locations ⋅ scenarios].
source
ADRIAIndicators.relative_juvenilesMethod
relative_juveniles(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool})::AbstractArray{T,2} where {T<:Real}

Calculate the relative coral cover composed of juveniles.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : A boolean vector indicating which size classes are juvenile.

Returns

A 2D array of relative juvenile cover with dimensions [timesteps ⋅ locations].

source
ADRIAIndicators.relative_juvenilesMethod
relative_juveniles(relative_cover::AbstractArray{T,5}, is_juvenile::AbstractVector{Bool})::AbstractArray{T,3} where {T<:Real}

Calculate the relative coral cover composed of juveniles for a 5-dimensional array of relative cover.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations ⋅ scenarios].
  • is_juvenile : A boolean vector indicating which size classes are juvenile.

Returns

A 3D array of relative juvenile cover with dimensions [timesteps ⋅ locations ⋅ scenarios].

source
ADRIAIndicators.relative_loc_taxa_juveniles!Method
relative_loc_taxa_juveniles!(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool}, location_area::AbstractVector{T}, out_relative_loc_taxa_juveniles::AbstractArray{T,2})::Nothing where {T<:AbstractFloat}

Calculate the relative coral cover copmosed of juveniles over time, functional group and location. Returns the output into a preallocated buffer

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : A boolean vector indicating which size classes are juvenile.
  • out_relative_taxa_juveniles : Output array buffer with dimensions [timesteps ⋅ groups ⋅ locations].
source
ADRIAIndicators.relative_loc_taxa_juvenilesMethod
relative_loc_taxa_juveniles(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractVector{Bool},)::Array{T,3} where {T<:AbstractFloat}

Calculate the relative coral cover composed of juveniles over time, functional group and location.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : A boolean vector indicating which size classes are juvenile.

Returns

Array with dimensions [timesteps ⋅ groups ⋅ locations].

source
ADRIAIndicators.relative_taxa_juveniles!Method
relative_taxa_juveniles!(relative_cover::AbstractArray{T,4}, is_juvenile::AbstractArray{Bool}, location_area::AbstractVector{T}, out_relative_taxa_juveniles::AbstractArray{T,2})::Nothing where {T<:AbstractFloat}

Calculate the relative coral cover composed of juveniles over time and functional group. Returns the output into a preallocated buffer.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : A boolean vector indicating which size classes are juvenile.
  • location_area : Vector containing the area of each location with dimensions [locations].
  • out_relative_taxa_juveniles : Output array buffer with dimensions [timesteps ⋅ groups].
source
ADRIAIndicators.relative_taxa_juvenilesMethod

Calculate the relative coral cover composed of juveniles over time and functional group.

Arguments

  • relative_cover : Relative cover with dimensions [timesteps ⋅ groups ⋅ sizes ⋅ locations].
  • is_juvenile : A boolean vector indicating which size classes are juvenile.
  • location_area : Vector containing the area of each location with dimensions [locations].

Returns

Array with dimensions [timesteps ⋅ groups].

source