Nothing
# =============================================================================
# helper-setup.R
# Fixtures compartidos para todos los tests de fb4package.
# Testthat carga automáticamente todos los archivos helper-*.R antes de correr
# cualquier test, por lo que estos objetos están disponibles en todos los tests.
# =============================================================================
# ---------------------------------------------------------------------------
# 1. Parámetros crudos de Chinook salmon (Stewart & Ibarra 1991)
# ---------------------------------------------------------------------------
chinook_species_params <- list(
consumption = list(
CEQ = 2, CA = 0.303, CB = -0.275,
CQ = 3.0, CTO = 15.0, CTM = 20.0, CTL = 24.0,
CK1 = 0.1, CK4 = 0.13
),
respiration = list(
REQ = 1, RA = 0.00264, RB = -0.217, RQ = 0.06818,
RTO = 0.0234, RTM = 0.0, RTL = 25.0,
RK1 = 1.0, RK4 = 0.13, RK5 = 0.0
),
activity = list(ACT = 1.0, BACT = 0.0),
sda = list(SDA = 0.172),
egestion = list(EGEQ = 1, FA = 0.212, FB = -0.222, FG = 0.631),
excretion = list(EXEQ = 1, UA = 0.0314, UB = 0.58, UG = -0.299),
predator = list(
PREDEDEQ = 2, Alpha1 = 4500, Beta1 = 6.0,
Alpha2 = 5500, Beta2 = 2.0, Cutoff = 250
)
)
chinook_species_info <- list(
scientific_name = "Oncorhynchus tshawytscha",
common_name = "Chinook salmon",
family = "Salmonidae",
life_stage = "adult"
)
# ---------------------------------------------------------------------------
# 2. Datos ambientales: temperatura anual simplificada (30 días)
# ---------------------------------------------------------------------------
make_temp_data <- function(n = 30, seed = 42) {
set.seed(seed)
days <- seq_len(n)
data.frame(
Day = days,
Temperature = round(8 + 4 * sin(2 * pi * (days - 60) / 365) + rnorm(n, 0, 0.3), 2)
)
}
chinook_temp_data <- make_temp_data(30)
# ---------------------------------------------------------------------------
# 3. Dieta uniforme simplificada (30 días, 2 presas)
# ---------------------------------------------------------------------------
make_diet_data <- function(n = 30) {
days <- seq_len(n)
list(
proportions = data.frame(
Day = days,
Alewife = 0.7,
Shrimp = 0.3
),
prey_names = c("Alewife", "Shrimp"),
energies = data.frame(
Day = days,
Alewife = 4900,
Shrimp = 3200
)
)
}
chinook_diet_data <- make_diet_data(30)
# ---------------------------------------------------------------------------
# 4. Objeto Bioenergetic listo para simulaciones cortas (30 días)
# ---------------------------------------------------------------------------
make_bio_chinook <- function(n_days = 30, initial_weight = 800) {
bio <- Bioenergetic(
species_params = chinook_species_params,
species_info = chinook_species_info,
environmental_data = list(temperature = make_temp_data(n_days)),
diet_data = make_diet_data(n_days),
simulation_settings = list(initial_weight = initial_weight, duration = n_days)
)
bio$species_params$predator$ED_ini <- 4000
bio$species_params$predator$ED_end <- 4500
bio
}
bio_chinook_30 <- make_bio_chinook(30, 800)
# ---------------------------------------------------------------------------
# 5. Parámetros de consumo procesados (para tests unitarios de bajo nivel)
# ---------------------------------------------------------------------------
processed_cons_params <- fb4package:::process_consumption_params(chinook_species_params$consumption)
processed_resp_params <- fb4package:::process_respiration_params(
chinook_species_params$respiration,
activity_params = chinook_species_params$activity,
sda_params = chinook_species_params$sda
)
processed_ege_params <- fb4package:::process_egestion_params(chinook_species_params$egestion)
processed_exc_params <- fb4package:::process_excretion_params(chinook_species_params$excretion)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.