|
|
|
|
|
# Effect of fishing
|
|
|
# IMPACTS OF SELECTIVE FISHING
|
|
|
|
|
|
See [Code](https://github.com/Ibasam/IBASAM/blob/master/IBASAM/src/Collection.cpp), lines 1008-1041.
|
|
|
|
|
|
Fishery mortality on returning individuals was simulated by the removal of a proportion of each sea age class (1SW or MSW, base proportion of 15%) from the population at the end of summer step, that is after the observation of number of returns and propor- tions of MSW.
|
|
|
|
|
|
``` C#
|
|
|
/************************
|
|
|
* Fishing
|
... | ... | @@ -39,4 +40,55 @@ vectorSalmon Collection::fishing(double *fishParam) |
|
|
removedead();
|
|
|
return fishedColl;
|
|
|
}
|
|
|
```
|
|
|
|
|
|
|
|
|
As an alternative, one can select individuals based on size:
|
|
|
```C#
|
|
|
vectorSalmon Collection::fishing(double *fishParam)
|
|
|
{
|
|
|
vectorSalmon fishedColl;
|
|
|
double rateSmall = fishParam[0];
|
|
|
double rateMed = fishParam[1];
|
|
|
double rateBig = fishParam[2];
|
|
|
double surv;
|
|
|
for (unsigned i=0; i<size();++i)
|
|
|
{
|
|
|
if(at(i).condition(anadromous))
|
|
|
{
|
|
|
if(at(i).L()<=603)
|
|
|
{
|
|
|
surv=runif(0.,1.);
|
|
|
if(surv<rateSmall)
|
|
|
{
|
|
|
at(i).die();
|
|
|
fishedColl.push_back(at(i));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if((at(i).L()>603)&&(at(i).L()<744))
|
|
|
{
|
|
|
surv=runif(0.,1.);
|
|
|
if(surv<rateMed)
|
|
|
{
|
|
|
at(i).die();
|
|
|
fishedColl.push_back(at(i));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if(at(i).L()>=744)
|
|
|
{
|
|
|
surv=runif(0.,1.);
|
|
|
if(surv<rateBig)
|
|
|
{
|
|
|
at(i).die();
|
|
|
fishedColl.push_back(at(i));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
removedead();
|
|
|
return fishedColl;
|
|
|
}
|
|
|
``` |
|
|
\ No newline at end of file |