Add business rules around the recruitment processes regarding category definitions
Craig44 opened this issue · 0 comments
Describe exactly what you would like to see in an upcoming release
Currently the command categories
is completely user-defined. An issue is when the model is B0
initialised with initialisation type = derived. R0
is initialised as = 1.0. After initialisation phases casal2 scales abundance of categories
defined in the recruitment process by B0/SSB. Categories that aren't defined in the recruitment process but are part of that spawning unit, won't be scaled. For users this isn't obvious, for example if you maturity
as an attribute in the partition, then a first pass would be to just define the immature
categories in the recruitment process, however you need to specify mature
categories as well, otherwise their abundance wont be scaled. See the attached configs for an example of this. Note the only difference is in the @process recruitment block.
categories immature
proportions 1
vs
categories immature mature
proportions 1 0
At some level there needs to be flexibility for multiple stock models i.e. hoki.
My proposed solution is to create a method so that recruitment classess can store category labels on the model, and the model can do a check if all categories have been allocated to a recruitment process. Makes tagging categories a little bit of a hassle.
Another solution is all categories need to be defined for each recruitment block and add a parameter which is a 0/1 if this category belongs to this recruitment process for the case with multistock models.