Differences between the EchoPro and Echopop#

There are documented differences between the EchoPro MATLAB program and Echopop workflows. Changes include new features (or changes to methods in EchoPro) not previously implemented in Echopop (✨), bugfixes (πŸ›), language-specific differences between MATLAB and Python (πŸ‘½), features EchoPro that have not yet been implemented in Echopop (🧩), and features in EchoPro that are not currently in development for Echopop (πŸ“•).

Data ingestion#

  • [✨] The creation of external *.xlsx transect-region-haul key files from Echoview *.xlsx exports are no longer required, but they can still be read in when designated

  • [✨] Manually mapping transect numbers, regions, and haul numbers together from Echoview *.xlsx exports is implemented. This also includes off-effort transect filtering files

Transect analysis#

  • [πŸ›] Age bins can now be manually defined in the configuration YAML file and do not automatically subsume out-of-bounds values (e.g. \(\alpha >= 21\) years all being included within \(\alpha = 20\))

  • [πŸ›] Sex-specific TS-length regressions no longer arbitrarily redefine β€˜unsexed’ fish as being β€˜female’

  • [πŸ‘½] Interpolated weights across \(\ell\) can produce different results in EchoPro and Echopop due to differences in numerical precision and how missing data are handled

  • [🧩] Incorporating net selectivity into biological distributions (across \(\ell\) and \(\alpha\)) is currently not implemented

  • [✨/🧩] Filtering out specific haul numbers, ages, sexes, and other plausible contrasts have not yet been implemented

  • [πŸ“•] Support for incorporating observer data within Echopop is currently not supported

Stratified analysis#

  • [✨] Confidence intervals at user-defined significance levels are now provided for CV. This includes bootstrap/resampling bias calculations and several methods for computing the confidence intervals: empirical, percentile, standard, \(t\)-standard, \(t\)-jackknife, bias-corrected (BC), and bias-corrected and accelerated (BCa)

  • [✨] Estimators and corresponding confidence intervals are now provided for (resampled) mean abundance/biomass

  • [🧩] The Jolly and Hampton (1990) resampling approach for computing overall variability in \(\textit{NASC}\) estimates has not been implemented in Echopop. It also currently limited to being computed only over INPFC strata

General spatial methods#

  • [✨] A new alternative method for cropping the kriging mesh has been implemented based on the convex hull shape of the survey transects (i.e. crop_method="convex_hull")

  • [✨/πŸ›] The implementation of the EchoPro kriged mesh cropping method relied on interpolating the transect line extents of three discrete regions to account for the island of Haida Gwaii. In EchoPro, these are manually defined. Echopop defaults to this implementation (i.e. crop_method="transect_ends") by discretizing the transect lines into each of these three regions based on their respective headings in cardinal directions. The transect-mesh region mappings are incorporated into the workflow using year-specific functions that supply all of the necessary details

  • [πŸ›] Modifications were made to prevent erroneous gaps in the survey coverage shape that subsequently included unexpected mesh nodes

Variogram analysis#

  • [✨] The semivariogram fitting GUI (i.e. VariogramGUI) has been enabled to allow for user changes to optimization algorithm parameters used by the lmfit Python package

  • [πŸ‘½] Differences between the non-linear least squares optimization algorithm in MATLAB and Python (via lmfit) differs in a number of ways that can produce different parameter estimates. These differences can range from precision error to much larger; however, the relative importance placed on parameter order remains the same in Echopop as it does in EchoPro

Kriging analysis#

  • [✨] Kriged unaged biomass estimates are reapportioned along length and age based on the distributions computed from aged fish. When certain length-bins are missing, EchoPro imputes values using the closest length bin corresponding to either male or female fish. Echopop does this imputation using the closest sex-specific length bins instead

  • [🧩] Kriging has only been fully tested, validated, and implemented for biomass