A new version of Casal2 has been released. The main user-facing changes are that tag-release by length and tag-recapture by length have been reviewed and tested, as has time-varying growth. The new version also incorporates a number of efficiency improvements. further details can be found here Casal2 Release Notes | Casal2
Per Craig Marsh on 2021-12-03:
Three large code changes involve re-writing the age-length and parameter transformation modules and adding a Verify state.
The age-length re-write was a pure internal code change that shouldn’t be noticeable to users, it was more addressing inefficient code, and fixing some issues relating to time-varying.
The parameter transformations code change have moved from working on @estimates to working with addressables. Before the algorithm went parameter → estimate → estimate-transformation. Now it follows parameter → transformation → estimate transformed parameter. This fixed a lot of I/O issues that weren’t considered in the initial specification design.
The verify state is an additional step in the Casal2 system to verify users model configurations. Now we flag to users if they have done something ‘unexpected’ i.e. created a model without an ageing process. Users can ignore these and run the model, but will allow the development team to add more checks and balances going forward.
Secondary code changes included:
- Adding internal usage methods to identify how an addressable object is being used in the system; see Identify how an addressable primitive object in a class is being used? for a given model run
- Review and test the Tag-release by length process. This involved adding a backwards compatibility option for CASAL models only needed to be used if it is a sexed model and tags are unsexed. See the Casal2 user manual for more info.
- Review and test the Tag-recapture by length observation class
- Change the project autobuild system to use GitHub Actions
- Fix time-varying growth and add unit-tests
- Change constants from Double → double
- Update the User Manual