FLasher is an FLR package for performing stochastic projections of fish populations and fisheries through time. It is a sequel to an older package FLash that has been widely used for projecting FLStock objects. It is anticpated that FLasher eventually replaces FLash. The interfaces are almost the same so moving existing scripts from using FLash to FLasher should be straightforward.
The main differences betwen FLasher and FLash are:
A projection is controlled by a fwdControl object. This determines how long the projection runs for, and what targets the projection attempts to hit along the way.
When projecting with FLBiol(s) and FLFishery(ies) objects, the fishing efforts of the FLFishery(ies) in each timestep are found to hit the target.
Projecting with an FLStock is the equivalent of projecting with a single FLBiol and FLFishery (this is what happens internally). When an FLStock is being projected, the Fmultiplier in each step is found that hits the target (the assumption is made that effort and F are linearly related).
If you are moving from using FLash to FLasher there are a few basic things to note.
The first thing to note is argument names to the fwd() function. The projection is still run using the fwd() function. The FLStock argument can still be unnamed if it is passed in as the first argument. However, the fwdControl argument must now be named as control. Additionally, the name of the sr.residuals argument is now deviances
# Will not work
out <- fwd(stock, control, sr=srrbits, sr.residuals=residuals)
# Will work
out <- fwd(stock, control=control, sr=srrbits, deviances=deviances)
The second thing is that when making the fwdControl object the names of the some of the columns has changed. The quantity column is now called quant. The val column is now called value.
Other differences relate to the way some calculations are carried out and will be presented below.
See the tutorials at the FLR website:
More details of the internal workings of FLasher can be found in the vignette FLasher reference manual.