Process for fixes, additions, updates

Hi all,
Would like to ask for some guidance on the process for changes, fixes, etc.

  1. I see the manual points contributors to the NIWAFisheriesModelling Github page issues, and there are a number of issues ongoing there. However, Matt pointed me to this discourse chat, which seems to duplicate the Github issues page. This must be for internal use only?

  2. This is a general question on how timelines and priorities are generated and communicated. If someone submits an issue and the appropriate code and testing, how will they know if and when it will be implemented? There seems to be a number of issues on the github issues list that are simply there with no one assigned.

  3. My understanding is that there were a number of fixes (eg. tagging module) that had been identified and recoded by Craig but not implemented as the focus was on getting a base V1 out. What is the process and timeline for having those changes implemented? I ask as we are targeting a CASAL2 toothfish assessment completed by 1 June, so had indicated back in July that we needed functionality by 1 Feb. The list we had communicated in July is below:

• The tagging module will need to be implemented to release tags in the appropriate way (both as age or length based processes), model growth of tagged fish (growth shock), and include tag shedding rates. Observations of tag recaptures need to be age and/or length based and replicate the functionality currently in CASAL.

• Memory requirements be implemented to use an auto-differentiation based minimizer with large partition size.

• The reports by CASAL may need to be modified or added to for functionality with CASAL2.

• Work to implement yield calculations (a second priority).

Are these issues in play already and what is their status and timeline? Just looking to have a version that is as far along as it will get by Feb and then we can modify for toothfish as we need it.


Welcome to the Casal2 Forum, Steve. Thanks for the questions.

Contributing to Casal2 Development
There are several places that hold information about Casal2, and places to contribute to the development of Casal2. The place to go to find information about the project and the way that it operates is in the Casal2 website. Here you will find the project status which lists the work that was done in the project year 2019-20, what is currently in-work for 2020-21, and work that is in the planning stages for 2020-21 (this is a wish list, so some of it may not get completed, or started, and all of it still needs to be technically specified, and prioritised).

Also in the website is a link to the Casal2 contributor guidelines, which contains a description on how contributors can go about reporting bugs and describing maintenance work, feature development, and enhancements. The contributor guidelines also describes the order of activities to work through to make a contribution, and this starts with working with the Casal2 Development Team to create a GitHub issue. This is where the Casal2 user and developer forum, hosted here on Discourse, comes into play.

Sometimes, especially for contributors with experience working with Casal2, writing issues will be very straightforward. However, in many cases, preliminary discussions will be required to develop a concise and well written issue specification. The Casal2 Discourse forum has been set up for these preliminary discussions, to facilitate collaboration and to record these discussions. Like the Casal2 GitHub repository, the Casal2 Discourse forum is open and anyone can read what is posted, and those that are logged in can write replies and start new topics, just as you have done. The Casal2 user and developer forum is also a place to ask for help and support running Casal2. The discussions in these topics are then available and searchable to any user. From Discourse faq, “This is a public forum, and search engines index these discussions. Keep the language, links, and images safe for family and friends.

The Casal2 Development Team welcomes feedback via the Discourse forum on this process and the contributor guidelines and any other information that we have made available as part of the V1.0.0 release.

Issue priority
One of the release tasks from the 2019-20 project was to migrate the project from the GitLab repository back to GitHub. Not included in this migration were the issues created in GitLab as part of the 2019-20 project. I am working on getting this done now. The next step will be to make a first-pass prioritisation of the issues, and assign issues to contributors.

Project specific functionality for toothfish assessment
I suggest that the contributors who will be working on your project start some forum discussion topics in the Development category to get the ball rolling, e.g. one for each of the bullet points you have listed. The Casal2 Development Team can then facilitate these discussions to fully define these features so that the contributors can start the first steps in the development process. This will help us determine the scope of the work required for your project, and then we can advise you on the likely timelines.

We’re looking forward to working with your team to get this functionality into production.