Beluga fish calculator
On this page you will find a way to test out the number of fish a beluga whale of a given mass would need to sustain its field metabolic rate. You are also able to modify the calories of the fish according to your preferred species. We have provided a table here of the most common species and their caloric densities. These averages were described by (O’Neill, Ylitalo, and West 2014) which can be found here.
Fish species | Energy value (kcal/fish) |
---|---|
Chinook | 13409 |
Sockeye | 4264 |
Pink | 2101 |
Coho | 4982 |
Chum | 4265 |
Here is the equation used in the fish calculator below to calculate the number of fish of a given caloric density a beluga whale of a given mass would need per day. The top bar of the fraction represents the kcal/day expended by a beluga whale of a given mass, and the bottom bar represents the caloric value per fish correcting for an 85% digestive efficiency of the whale (see main article text for more information).
\[ \texttt{Number of fish per day} = \frac{(651.2*\text{beluga mass}^{0.87})*0.239}{\text{fish energy value}*0.85} \]
You can modify the above equation using this calculator to see how the number of fish needed per day changes as the mass of the whale and calories of the fish change. The default values observed here are the average mass of the adult female beluga whales included in (John et al. 2024) and the average calories in a Chinook salmon as described by (O’Neill, Ylitalo, and West 2014). Adult female beluga whales can typically weigh between 680-1179kg and males can typically be found between 1088-1587kg.
#| standalone: true
#| viewerHeight: 400
library(shiny)
library(bslib)
theme <- bs_theme(font_scale = 1.5)
# Define UI for app that draws a histogram ----
ui <- fluidPage(
titlePanel("Beluga fish calculator"),
sidebarLayout(
sidebarPanel(
tags$style('#mass {font-size:18px;}'),
span(numericInput(
inputId = "mass",
label = "Beluga mass (kg)",
value = 758,
min = NA,
max = NA,
step = NA,
width = NULL
), style = "font-size:20px"),
tags$style('#f_cal {font-size:18px;}'),
span(numericInput(
inputId = "f_cal",
label = "Calories of given fish (kcal/fish) ",
value = 13409,
min = NA,
max = NA,
step = NA,
width = NULL
), style = "font-size:20px" ),
),
mainPanel(h3("Number of fish given inputs:"), #change back to h2 if not running
span(textOutput("result"),
style = "font-size:20px")
)
)
)
server <- function(input, output, session) {
output$result <- renderText({
as.character(
((651.2*(input$mass^0.87))*0.239)/(input$f_cal*0.85)
)
})
}
# Create Shiny app ----
shinyApp(ui = ui, server = server)