The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

aLBI: Length-Based Indicators and Fish Stock Assessment in R

CRAN status License: GPL v3 DOI

aLBI (Assessment of Length-Based Indicators) is an R package developed for data-limited fish stock assessment using catch length-frequency distributions. The package operationalises the sustainability indicators of Froese (2004) and the decision-tree framework of Cope & Punt (2009) to evaluate stock status against target (\(0.40 \cdot SB_0\)) and limit (\(0.25 \cdot SB_0\)) spawning biomass reference points.

To overcome the sensitivity of length-based indicators to class boundary step-functions, aLBI implements a three-tier Monte Carlo and bootstrap uncertainty propagation framework.


Key Features


Function Overview

Function Primary Purpose Key Inputs Key Outputs
FrequencyTable() Constructs length-frequency tables Raw individual fish lengths Binned frequency distribution table ($lfqTable, $lfreq)
FreqTM() Builds multi-month length-frequency tables Monthly length observations Harmonized monthly frequency matrices
FishPar() Calculates reference lengths & Froese indicators Length-frequency table ($lfreq) Three-tier CIs, derived scalars (Pobj, LM_ratio), and diagnostic plots
FishSS() Evaluates stock status & selectivity pattern FishPar outputs + cpdata Biomass probabilities (p_below_target, p_below_limit), selectivity
LWR() Fits length–weight allometric regressions Length and weight vectors Regression coefficients (\(a, b, R^2\)), confidence intervals, ggplot2 object

Installation

Install the released stable version from CRAN:

install.packages("aLBI")

Install the development version from GitHub:

# install.packages("devtools")
devtools::install_github("Ataher76/aLBI")

Sequential Workflow Example

Step 1: Generate Length-Frequency Distribution

library(aLBI)
library(readxl)

# Load bundled raw length data
raw_path <- system.file("exdata", "ExData.xlsx", package = "aLBI")
raw_data <- readxl::read_excel(raw_path)

# Build frequency table using automatic bin sizing (Wang et al., 2020)
freq_res <- FrequencyTable(
  data        = raw_data,
  bin_width   = NULL,
  save_output = FALSE
)

# Extract frequency distribution for FishPar
lf_table <- freq_res$lfreq
head(lf_table)

Step 2: Estimate Reference Lengths & Froese Indicators

# Execute FishPar with Monte Carlo and bootstrap simulations
par_res <- FishPar(
  data        = lf_table,
  resample    = 1000,       # Use >= 5000 for publication
  save_output = FALSE
)

# Biological reference points (Linf, Lmat, Lopt)
par_res$estimated_length_par

# Froese indicators with Tier 3 joint total uncertainty
par_res$froese_par_joint

Step 3: Assess Spawning Biomass Status

# Load Cope & Punt (2009) lookup table
cp_path <- system.file("exdata", "cpdata.xlsx", package = "aLBI")
cp_data <- readxl::read_excel(cp_path)

# Evaluate stock status probabilities
stock_eval <- FishSS(
  data     = cp_data,
  LM_ratio = par_res$LM_ratio,
  Pmat     = par_res$froese_par_joint$Mean[1],
  Popt     = par_res$froese_par_joint$Mean[2],
  Pmega    = par_res$froese_par_joint$Mean[3]
)

# View stock status probabilities and selectivity pattern
stock_eval$StockStatus
stock_eval$Selectivity

Step 4: Length–Weight Relationship Analysis

# Load bundled length-weight data
lw_path <- system.file("exdata", "LWdata.xlsx", package = "aLBI")
lw_data <- readxl::read_excel(lw_path)

# Model LWR with log-log linear regression
lwr_res <- LWR(
  data          = lw_data,
  log_transform = TRUE,
  save_output   = FALSE
)

# Model summary parameters
lwr_res$model_summary

Three-Tier Uncertainty Architecture

FishPar handles the non-differentiable step-function transitions across length class bins by reporting three separate uncertainty tiers:


Citation

To cite aLBI in publications, please refer to the primary methodology paper:

Ali, A., Sarker, M. R., & Alam, M. S. (2025). Development of a simple R package (aLBI) for the estimation of stock status from the length frequency data. Fisheries Research, 288, 107467. https://doi.org/10.1016/j.fishres.2025.107467

@article{ali2025albi,
  title   = {Development of a simple R package (aLBI) for the estimation of stock status from the length frequency data},
  author  = {Ali, Ataher and Sarker, Mohammad Ruhul and Alam, Mohammed Shahidul},
  journal = {Fisheries Research},
  volume  = {288},
  pages   = {107467},
  year    = {2025},
  doi     = {10.1016/j.fishres.2025.107467}
}

Authors & Maintainer


License

This package is licensed under the GNU General Public License v3.0 (GPL-3).

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.