[FLR-list] ssb constraint with FLash

Clara Ulrich clu at aqua.dtu.dk
Sat Oct 25 21:35:15 CEST 2014


Hi all, 

We are just back from ICES MIXFISH, where we once again made much use of FLash power... (still on R 2.15.3 windows 32 bits, we had some troubles at the advice meeting in May with using the new FLFleet package for R3.1, we haven't tried again - Flash 2.5.0)

This time we wanted to some SSB-based HCR - Typically, we have a target F with some SSB minimum constraints - for example the biomass must stay above Bpa, or if the biomass is below Bpa, the target is reduced such as SSB should be at least increasing...

But I kept having troubles making it to work - I had tried this some years ago and it worked OK as far as I remember, but last week I did not manage to get around the problem. 

For example (with target F for 2014, and SSB constraint applying on SSB at 1st January 2015 at the end of the fwd year)

maxF <-fwdControl(data.frame(year=2014,val=0.8,quantity="f")) #  an example with high F that decreases biomass a lot
Proj <- fwd(MyObj,ctrl=maxF,sr=list(model="mean",params=FLPar(1)),sr.residuals=FLQuant(3500000,dimnames=list(year=2014:2015)))

This works :
fbar(Proj)[,"2014"]
	An object of class "FLQuant"
	iters:  10 
	, , unit = unique, season = all, area = unique
	     year
	age   2014  
	  all 0.8(0)	
	units:  f

ssb(Proj)[,ac(2014:2015)]
	An object of class "FLQuant"
	iters:  10 
	, , unit = unique, season = all, area = unique
	     year
	age   2014      2015     
	all 172983(0)  77323(0)
	units:  NA

but this does not work (here an example where the SSB constraint should be activated)  

maxF <-fwdControl(data.frame(year=2014,val=c(0.8,NA),min=c(NA,150000), quantity=c("f","ssb")))
Proj <- fwd(MyObj,ctrl=maxF,sr=list(model="mean",params=FLPar(1)),sr.residuals=FLQuant(3500000,dimnames=list(year=2014:2015)))

fbar(Proj)[,"2014"]
	An object of class "FLQuant"
	iters:  10 
	, , unit = unique, season = all, area = unique
	     year
	age   2014  
	  all 0.016914(0)	
	units:  f

ssb(Proj)[,ac(2014:2015)]
	An object of class "FLQuant"
	iters:  10 
	, , unit = unique, season = all, area = unique
	     year
	age   2014      2015     
	all 172983(0) 172983(0)
	units:  NA


and this doesn't work either when the SSB is not constraining (e.g. SSB limit so low that it is always achieved). Only if I specify ssb as a value inn fwdControl does it compute correctly, but that is not the idea, it should be a minimum


I have tried several ways around this but cannot find out... Any idea of what is getting wrong? 

Thanks in advance,
Cheers
Clara


More information about the flr-list mailing list