Casal2/CASAL2

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.

correct_config.csl2.txt

wrong_config.csl2.txt