class: center, middle, inverse, title-slide .title[ # Background and rationale for the
Fisheries Integrated Modeling
System (FIMS) ] .subtitle[ ## FIMS CIE Review ] .author[ ### Kelli Johnson, NOAA Fisheries OST
kelli.johnson@noaa.gov
] .date[ ### 2026/04/21 ] --- layout: true .footnote[U.S. Department of Commerce | National Oceanic and Atmospheric Administration | National Marine Fisheries Service] <!-- Start of slides --> --- # Outline - Why was FIMS created - FIMS mission statement - Why build FIMS now - Software in fisheries - Who will build the software --- # .hyperlink-style[[Why was FIMS Created](https://noaa-fims.github.io/about/faq.html#why-is-fims-being-created)] <ul> <li>New good practices in assessment methods, such as random effects, one-step ahead residuals, and new statistical distributions, can be difficult to add in a performant way to older software systems.</li><br><li>FIMS will be written in a way that these new best practices are included at the onset rather than as an afterthought.</li><br> </ul> --- # .hyperlink-style[[Why was FIMS Created](https://noaa-fims.github.io/about/faq.html#why-is-fims-being-created)] <ul> <li>FIMS was created, according to its Terms of Reference, to increase the pool of developers, designers, and testers that contribute to a commonly-used stock assessment modeling system that can be used across regions.</li><br><li>The commitment to build FIMS was made by the National Marine Fisheries Service (NMFS) Science Board in 2020 partly in response to the Center for the Advancement of Population Assessment Methodology (CAPAM) workshop on Next Generation Models and the recommendations in Implementing a Next Generation Stock Assessment Enterprise, a NOAA Fisheries strategic document that calls for the development of general modeling platforms that facilitate ease of use, robust testing, modular applications, and best practices and to improve the professionalism of model development.</li><br> </ul> --- # .hyperlink-style[[Why was FIMS Created](https://noaa-fims.github.io/about/faq.html#why-is-fims-being-created)] Implementing a Next Generation Stock Assessment Enterprise .hyperlink-style[[Lynch et al., 2018](https://spo.nmfs.noaa.gov/sites/default/files/TMSPO183.pdf)] <ul> <li>In 2001 NOAA Fisheries conducted 50 assessments</li> <li>In 2015 NOAA Fisheries conducted 190 assessments</li> <li>Next Generation Stock Assessments (NGSA) require three themes</li> <ul> <li>holistic and ecosystem linked</li> <li>use of innovative science for data collection and analysis</li> <li>timely, efficient, and effective</li> </ul> <li>Recommendations to improve NOAA Fisheries' ability to meet its mandates included the creation of general modeling platforms that facilitate</li> <ul> <li>ease of use,</li> <li>robust testing,</li> <li>modular applications, and</li> <li>best practices to improve the professionalism of model development</li> </ul> --- # .hyperlink-style[[Mission Statement](https://noaa-fims.github.io/about/#mission)] <iframe src="https://noaa-fims.github.io/about/" width="100%" height="400px" data-external="1"></iframe> --- # .hyperlink-style[[Why Build FIMS Now](https://noaa-fims.github.io/about/faq.html#why-build-fims-now)] <ul> <li>AD Model Builder (ADMB) is no longer being supported so the ability to compile existing models that use ADMB, e.g., Age Structured Assessment Program (ASAP), Assessment Model for Alaska (AMAK), Beaufort Assessment Model (BAM), and Stock Synthesis 3 (SS3), will be compromised with future operating system upgrades.</li><br><li>Furthermore, development of these models that rely on ADMB to include best practices, such as random effects, is not feasible.</li><br> </ul> --- # Software in Fisheries <div> <img src = "https://onlinelibrary.wiley.com/pb-assets/journal-banners/14672979-1501384690583.jpg"> </div> Dowling et al. (2026; .hyperlink-style[[10.1111/faf.70076](https://doi.org/10.1111/faf.70076)]) surveyed developers of 33 fishery stock assessment tools and found: - ✅ **91%** reported using formal version control. - ❌ **54%** did not actively promote their tools. - ❌ **36%** had a succession plan despite **61%** reporting training activity. - 😧 **30%** felt their tool was trending towards being obsolete. - 😧 **91%** of tools were generated a specific use case rather than from a general need. These patterns support investing in shared infrastructure, explicit maintenance planning, and broader contributor participation. --- # Who is Involved in FIMS - .hyperlink-style[[FIMS Implementation Team](https://noaa-fims.github.io/contact/contributors.html#core-developers)] - Dedicated Project Lead (currently Kelli Johnson) - 2 Scientists from each of the 6 Science Centers - Members of the Office of Science and Technology's National Stock Assessment Program - Rotation is encouraged to spread knowledge - .hyperlink-style[[FIMS Council](https://noaa-fims.github.io/contact/contributors.html#fims-council)] - Members from the academic community and global partners - One-year terms if desired - Support from the National Marine Fisheries Service Science Board, the senior leadership team --- # FIMS Design <center> <img src="static/FIMS_hexlogo.png" style="width: 100%; max-width: 300px;" /> </center> --- # Outline - 🏛️ .hyperlink-style[[FIMS organization](https://noaa-fims.github.io/)] 🏛️ - Version history of <img src="static/FIMS_hexlogo.png" style="width: 100%; max-width: 30px;" /> package - The **S** in **S**ystem - Architecture --- # 🏛️ FIMS Organization 🏛️ ### One 🏠 for code, conversation, and collaboration Everything for FIMS lives in one shared place, making it easy to find the code, follow discussions, and jump in. **Explore the GitHub organization** 1. .hyperlink-style[https://github.com/NOAA-FIMS] stores many repositories 2. 🔍 Find code, issues, and discussions in one search 3. Trace decisions from .hyperlink-style[[Discussions](https://github.com/orgs/NOAA-FIMS/discussions)] → Issues → Pull Requests 4. 🚀 Reuse solutions across teams and repositories 5. 🤝 Onboard contributors faster with shared context 6. .hyperlink-style[https://noaa-fims.github.io] --- # 🏛️ FIMS Organization 🏛️ ### How packages in the organization connect
--- # Tracing milestones in the FIMS package <img src="slides_20260421_background_files/figure-html/snake-time-line-1.svg" alt="" width="100%" style="display: block; margin: auto;" /> --- # The S in System ### FIMS connects the assessment ecosystem .left-68[ - East/West/North/South → shared framework - data-limited/data-rich → common workflow - model inputs/model outputs → end-to-end consistency **Why this matters** One system means faster collaboration, clearer handoffs, and more consistent assessments. ] .right-32[ <img src="https://live.staticflickr.com/3816/11090497816_4dcf638be1.jpg" style="width: 100%; border-radius: 10px;" /> ] --- # 🏛️ FIMS Architecture 🏛️ * Distributable R package that compiles during installation * FIMS modules are written in C++ * C++ is linked to R using Rcpp*<sup>1</sup>* * Learn more in the .hyperlink-style[[training vignettes](https://noaa-fims.github.io/FIMS/articles/index.html)] * .hyperlink-style[[Template Model Builder](https://kaskr.github.io/adcomp/Introduction.html)]*<sup>2</sup>* currently serves as the engine for statistical inference <div style="text-align: center;"> <img src="static/fims_path_simple.png" style="width: 100%; max-width: 600px;" /> </div> .footnote[ [1] .hyperlink-style[[Rcpp:](https://cran.r-project.org/web/packages/Rcpp/index.html)] An R package that provides the seamless integration of R and C++.<br> [2] .hyperlink-style[[Template Model Builder:](https://kaskr.github.io/adcomp/Introduction.html)] An R package for fitting statistical latent variable models to data. ] --- # 🏛️ FIMS Architecture 🏛️ * Distributable R package that compiles during installation * FIMS modules are written in `C++` in `inst/include` -- * Rcpp code is in `inst/include/interface` and `src/FIMS.cpp` * R code is in `R` * Compiling of C++ is configured using `src/Makevars`
--- # 🏛️ C++ Architecture 🏛️ `FIMS/inst/include`
--- # 🏛️ Model Family Architecture 🏛️ `FIMS/inst/include/models` <div style="margin-bottom:-28px;"></div>
--- # 🏛️ Theoretical Family Architecture 🏛️
.footnote[ [1] <span style="color: #76BC21;">Available in main.</span><br> [2] <span style="color: #DB6015;">Available in feature branch.</span><br> [2] <span style="color: #B71300;">Potential families.</span><br> ] --- # Running FIMS .hyperlink-style[[Intro to FIMS vignette](https://noaa-fims.github.io/FIMS/articles/fims-demo.html)] --- # .hyperlink-style[[Features](https://noaa-fims.github.io/about/#comparison-to-other-frameworks)] <iframe src="https://noaa-fims.github.io/about/#comparison-to-other-frameworks" width="100%" height="400px" data-external="1"></iframe> --- # Thank you <center> <img src="static/FIMS_hexlogo.png" style="width: 100%; max-width: 300px;" /> </center>