Corinne Bassin, Christine Stawitz
ECS Federal in support of NOAA Fisheries S&T
The NOAA Fisheries Integrated Toolbox (NOAA FIT) is an interdisciplinary, web-based portal of operational tools that can be used for a variety of applications, including stock assessment modeling, forecasting, and data preparation for fish and protected species, as well as economic and ecosystem modeling.
Caveat: we are a team of three people, and the UI is still a work in progress
We seek to be inclusive; tools that are of use in NOAA products are our primary focus. There must be at least one tool owner we can work with to implement version control, etc. We recommend including the latest stable version in the toolbox. Research and development can continue elsewhere on new tool features.
Initial authors of a tool fill out a meta-data form about their tool which includes background informtation that can be made public on the tools landing page.
All code needs to be under version control, locally and on a server. Basic information about version control and best practices for the toolbox are available.
NOAA has specific guidelines that cover the use of GitHub for version control . We can fork from existing Git repos, create Git repos from Vlab, or help you set up git. Only NOAA affiliated personal will be able to directly push to an NOAA GitHub repository but the code is publicly available. Outside collaborators will be able to suggest changes and perform a pull-request to have their changes accepted.
After these steps have been completed, the toolbox team will review your git repository and file issues about specific items that need to be resolved for inclusion in the toolbox.
Link to tool: The tool receives a landing page and link on the toolbox website
Basic support level determined : Depending on the collaborators affiliations and development state of the tool, each tool recieves differing levels of support from the NOAA National Modeling Team.
When tools are all shared and under version control, we can more easily work with individual tool developers to standardize and simplify.
Example: lookup table for stock assessment model names; automate writes to SIS
Standard formats for inputs and outputs make it easier to average model results. Instead of custom code, pulling results from multiple output files with consistent formatting makes it easy to add to ensembles.
Common inputs will also allow us to develop common user interfaces that write model inputs. Standard output files make it easier to visualize output and generate reports.
Example: A standard package for plotting stock assessment output; creating new web-based UI for legacy desktop applications.
Management by FIT reduces the burden on tool developers since we can monitor issues and help support users.
We're also working on support blog and trainings (at NSAW) to teach about git, software best practices, etc.
Software peer review a.la rOpenSci?
Steering committee, or leverage existing committees
The toolbox uses badges to communicate the most up-to-date versions of tools. We can also monitor the Github repositories of tools and encourage splitting into versions during the code review process. (e.g. GMACs)