tests/testthat/old/msePT.R

# mseBD.R - DESC
# /mseBD.R

# Copyright European Union, 2017
# Author: Iago Mosqueira (EC JRC) <iago.mosqueira@ec.europa.eu>
#
# Distributed under the terms of the European Union Public Licence (EUPL) V.1.1.

library(mse)
library(ioalbmse)

data(oms)


# --- TEST hcr in msePT works as expected

hcr <- ~ifelse(dep <= Dlimit, 0,
  ifelse(dep < Dtarget, (lambda * MSY) / (Dtarget - Dlimit) * (dep - Dlimit),
  lambda * MSY))

hcrparams <- FLPar(Dlimit=0.10, Dtarget=0.40, lambda=1.0, dltac=0.40, dhtac=0.15)

dep <- seq(0.05, 0.50, length=100)

plot(dep, eval(hcr[[2]], c(as(hcrparams, "list"), list(dep=dep, MSY=50000))))


# ---


system.time(R0 <- msePT(omp, sr=osr, cpue=propagate(window(cpue$index, end=2024), 655),
  years=seq(2014, 2024, by=2), verbose=TRUE,
  hcrparams=FLPar(Dlimit=0.15, Dtarget=0.45, lambda=1.0, dltac=0.20, dhtac=0.15)))

rpts$MSY <- rpts$MSY * 2

system.time(R0 <- msePT(omp, sr=osr, cpue=propagate(window(cpue$index, end=2024), 655),
  years=seq(2014, 2024, by=2), verbose=TRUE,
  hcrparams=FLPar(Dlimit=0.15, Dtarget=0.45, lambda=1.0, dltac=0.20, dhtac=0.15)))

plot(om, R0$om)

# hcrparams: Dlimit, Dtarget, lambda=1.0, dltac, dhtac
T0 <- tune(msePT,
  grid=list(lambda=seq(0.50, 1.50, length=20), dltac=c(0.15, 0.10), dhtac=c(0.15, 0.20),
    Dlimit=c(0.10, 0.15, 0.20), Dtarget=c(0.30, 0.40, 0.50)),
  indicators=indicators, refpts=rpts, omp=omp, sr=osr, cpue=propagate(window(cpue$index, end=2024), 655),
  years=seq(2014, 2024, by=2), oemparams=FLPar(b=0, sd=0), imparams=NA)


# --- DEBUG

# hcrparams: Dlimit, Dtarget, lambda=1.0, dltac, dhtac
T0 <- tune(msePT,
  grid=list(lambda=seq(0.50, 1.50, length=2), dltac=c(0.15), dhtac=c(0.15),
    Dlimit=c(0.15), Dtarget=c(0.40)),
  indicators=indicators, refpts=rpts, omp=omp, sr=osr, cpue=propagate(window(cpue$index, end=2024), 200),
  years=seq(2014, 2024, by=2), oemparams=FLPar(b=0, sd=0), imparams=NA)







sel.pattern <- cpue$sel.pattern
cpue <- propagate(window(cpue$index, end=2024), 200)
sr <- osr
refpts <- rpts

years <- seq(2014, 2024, by=2)
y <- years[1]
freq <- years[2] - years[1]

dlag <- 1
mlag <- 1

# hcr <- ~pmax(Dlimit, pmin(Dtarget, ((lambda * MSY) / (Dtarget - Dlimit)) * (dep - Dlimit), lambda * MSY))

hcrparams <- FLPar(Dlimit=0.10, Dtarget=0.40, lambda=1.0, dltac=0.15, dhtac=0.15)

hcr <- ~ifelse(dep <= Dlimit, 0,
  ifelse(dep < Dtarget, (lambda * MSY) / (Dtarget - Dlimit) * (dep - Dlimit), lambda * MSY))

# --- TEST
its <- 150:200

omps <- FLCore::iter(omp, its)

osrs <- osr
osrs@params <- osrs@params[, 1]

R0 <- msePT(omps, sr=osrs, cpue=propagate(window(cpue$index, end=2024), length(its)),
  years=seq(2014, 2024, by=2), verbose=TRUE)
flr/mse documentation built on May 1, 2024, 1:01 a.m.